重庆思庄Oracle、Redhat认证学习论坛

标题: 18c开始dg对应的nologging新子句 [打印本页]

作者: 郑全    时间: 2019-11-26 14:03
标题: 18c开始dg对应的nologging新子句
18c以前,开启主库附加日志,并验证开启的结果;

SQL> alter database force logging;

Database altered.

SQL> select log_mode,force_logging from v$database;

LOG_MODE          FORCE_LOGGING
---------------------- ---------------------------------------
ARCHIVELOG      YES



从Oracle Database 18c开始,引入了以下两个新的nologging子句,它们可以执行非日志记录操作,同时可以使Active Data Guard备用数据库接收到所有数据,从而防止FORCE 方式生成大量重做日志导致性能下降。


STANDBY NOLOGGING FOR DATA AVAILABILITY模式使批量加载操作通过其自身与备用数据库的连接将加载的数据发送到每个备用数据库。提交会延迟,直到所有Active Data Guard备用数据库通过 recover 方式将数据应用完成。


SQL> alter database set standby nologging for data availability;

Database altered.

SQL> select log_mode,force_logging from v$database;

LOG_MODE                FORCE_LOGGING
--------------------------- ---------------------------------------------------------------------
NOARCHIVELOG     STANDBY NOLOGGING FOR DATA AVAILABILITY

STANDBY NOLOGGING FOR LOAD PERFORMANCE模式与先前的模式类似,不同之处在于,如果网络无法跟上数据加载到主数据库的速度,则加载过程可以停止将数据发送到备用数据库。在此模式下,备用数据库可能缺少数据,但每个Active Data Guard备用数据库都会在recover过程中自动从主数据库中提取数据。


SQL> alter database set standby nologging for load performance;

Database altered.

SQL> select log_mode,force_logging from v$database;

LOG_MODE               FORCE_LOGGING
-------------------------- --------------------------------------------------------------------------
NOARCHIVELOG    STANDBY NOLOGGING FOR LOAD PERFORMANCE





欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2