首页 > 数据库 > Oracle > Oracle12c DataGuard新特性
Oracle12c DataGuard新特性
https://docs.oracle.com/database/122/SBYDB/release-changes.htm#SBYDB5408
ALTER RECOVER MANAGED STANDBY DATABASE
逻辑备库支持长标识符 128字节
提供了新的DBMS_ROLLING包,自动化完成一系列的升级任务,降低采用rolling技术的复杂性。
DBMS_Rolling 包采用 Specification(规范)—Compilation(编制)—Execution(执行)三步走的协议。只需DBA设置几个参数,即可自动实现后续的一系列配置、切换、启停库、验证等操作。
在DBMS_ROLLING中有leading group和trailing group 的概念,可简单理解为初始化的备库和主库。实施步骤包括初始化-设置参数- 生成计划-验证计划-执行切换-收尾等过程
SQL> exec DBMS_ROLLING.SET_PARAMETER('SWITCH_LGM_LAG_WAIT','1');
SQL> exec DBMS_ROLLING.SET_PARAMETER('SWITCH_LGM_LAG_TIME','60');
SQL> exec DBMS_ROLLING.BUILD_PLAN;
SQL> exec DBMS_ROLLING.start_plan;
SQL> exec DBMS_ROLLING.switchover;
SQL> exec DBMS_ROLLING.finish_plan;
Far Sync 是12C中新增的一种实例类型(instance type),如同rdbms和asm实例,它不运行数据库、没有数据文件,只有日志文件,专门用于DataGuard配置中负责日志转发的轻量级实例。这个far sync实例需要配置在离主库距离不远的机房,例如同数据中心或同城灾备的机房,以便实现同步日志传输。
SQL> alter database create far sync instance controlfile as '/tmp/boston1.ctl';
只需要拷贝主库的参数文件和密码文件,使用standby control file和standby redo logfile即可完成far sync实例的创建;由于far sync不运行实际的数据库,也就没有数据文件,对于存储的需求量是很低的。
在12c中Oracle强烈推荐使用DG Broker完成DG的管理
DGMGRL> show configuration;
在Oracle 11g中,DataGuard主要有两种日志传输模式:
同步SYNC AFFIRM
异步ASYNC NOAFFIRM
ARCH模式 -- 由于LGWR ASYNC的性能已经得到极大优化,ARCH模式已经不再推荐
最大性能模式下使用ASYNC NOAFFIRM
最大保护和最大可用模式下使用SYNC AFFIRM :事务都正确传输到备库并写入磁盘,
主库收到备库的确认ACK之后才可以完成提交,否则主库必须等待
12c给最大可用模式提供了一种称为 FAST SYNC的模式,也就是SYNC NOAFFIRM,主库与备库之间仍然以同步模式传输,但是主库只需等待备库收到日志即可,而无需进一步等待备库的日志写入磁盘才能提交,这就大大降低了性能的损耗,同时仍可以保证主库备库之间的数据同步。
参数文件: Log_archive_dest_2="service=db2_tns db_unique_name=db2 sync noaffirm"
DGBroker:DGMGRL> edit database boston set property 'LogXptMode'='FASTSYNC';
DATA_GUARD_SYNC_LATENCY
NET_TIMEOUT 在 LOG_ARCHIVE_DEST_n定义
SQL> exec sys.dbms_dbcomp.dbcomp(‘1’,’BlockCompare’,:retval);
主库上执行,会为每个备库产生一个输出结果文件
备库上执行,只会产生此备库与主库的比较结果。
启用这个参数意味着,可以指定部分PDB,复制到备库中。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/807718/viewspace-2147620/ ,如需转载,请注明出处,否则将追究法律责任。