当前位置:  开发笔记 > 运维 > 正文

Oracle中日志记录/ nologging选项的用途是什么

如何解决《Oracle中日志记录/nologging选项的用途是什么》经验,为你挑选了1个好方法。

如果我没有在Oracle中的数据库对象中指定日志记录/ nologging会发生什么?我的意思是说如何在数据库对象中记录/ nologging并且在数据库对象中没有记录/ nologging?



1> Jon Heller..:

LOGGING/NOLOGGING有助于管理启用直接路径写入,以减少REDO和UNDO的生成.它是控制可恢复性和性能之间微妙平衡的几种方法之一.

Oracle架构背景信息

REDO是Oracle提供耐久性的方式,即ACID中的"D".提交事务时,更改不一定整齐地存储在数据文件中.这使事情变得更快,并让后台进程处理一些工作.REDO是对变化的描述.它可以快速存储在多个磁盘上的"哑"日志中.更改很快,如果服务器在提交返回后的1微秒内断电,Oracle可以通过REDO日志确保更改不会丢失.

UNDO帮助Oracle提供一致性,即ACID中的"C".它存储了如何撤消更改的说明.可以通过另一种工艺是阅读的表,需要知道什么值需要这些信息用于为在一个旧点的时间.

直接路径写入跳过REDO,UNDO,缓存和一些其他功能,并直接修改数据文件.在许多环境中,这是一个快速但有潜在危险的选择,这就是为什么有这么多令人困惑的选项来控制它.直接路径写入仅适用于INSERTS,并且仅适用于下面描述的方案.

如果您什么都不做,默认选项是最安全的LOGGING.

控制直接路径写入的多种方法

LOGGING/NOLOGGING是控制直接路径写入的几种选项之一.从AskTom查看此表以了解不同选项如何协同工作:

Table Mode    Insert Mode     ArchiveLog mode      result
-----------   -------------   -----------------    ----------
LOGGING       APPEND          ARCHIVE LOG          redo generated
NOLOGGING     APPEND          ARCHIVE LOG          no redo
LOGGING       no append       ARCHIVE LOG          redo generated
NOLOGGING     no append       ARCHIVE LOG          redo generated
LOGGING       APPEND          noarchive log mode   no redo
NOLOGGING     APPEND          noarchive log mode   no redo
LOGGING       no append       noarchive log mode   redo generated
NOLOGGING     no append       noarchive log mode   redo generated

FORCE LOGGING可以覆盖所有这些设置.可能还有其他一些我不知道的开关.当然还有许多限制可以阻止直接路径 - 触发器,外键,集群,索引组织表等.

规则对索引的限制更多.索引将始终在DML语句期间生成REDO.只有DDL语句,像CREATE INDEX ... NOLOGGINGALTER INDEX ... REBUILD在NOLOGGING指数不会产生REDO.

为什么有这么多方法?因为可恢复性非常重要,不同的角色可能对此事有不同的看法.有时一些人的决定需要超越其他人.

开发人员在声明级别决定"插入模式".一些/*+ APPEND */提示可能会发生许多奇怪的事情,开发人员需要谨慎选择何时使用它.

建筑师在对象层面决定"表格模式".无论开发人员想要插入其中的速度如何,有些表必须始终可以恢复.

数据库管理员决定数据库或表空间模式,"归档日志"和FORCE LOGGING.也许组织不关心恢复特定数据库,因此将其设置为NOARCHIVELOG模式.或者组织可能有一个严格的规则,一切都必须是可恢复的,因此将表空间设置为FORCE LOGGING.

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有