INSTANCES [ ALL |
integer]实例新子句
ALTER
RECOVER MANAGED STANDBY DATABASE
Logical standby now
supports long identifiers (128 bytes)
逻辑备库支持长标识符128字节
升级神器Data
Guard Rolling
提供了新的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
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;
12C中最大可用模式中的FAST
SYNC
在Oracle 11g中,DataGuard主要有两种日志传输模式:
同步SYNC
AFFIRM
异步ASYNCNOAFFIRM
ARCH模式--由于LGWR ASYNC的性能已经得到极大优化,ARCH模式已经不再推荐
最大性能模式下使用ASYNCNOAFFIRM
最大保护和最大可用模式下使用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同步延迟时间(秒),范围(0 -NET_TIMEOUT)
DATA_GUARD_SYNC_LATENCY
NET_TIMEOUT在LOG_ARCHIVE_DEST_n定义
通过存储过程DBMS_DBCOMP.DBCOMP检测主库和物理备库之间"丢失的写"和"不一致"
SQL>
exec sys.dbms_dbcomp.dbcomp(‘1’,’BlockCompare’,:retval);
主库上执行,会为每个备库产生一个输出结果文件
备库上执行,只会产生此备库与主库的比较结果。
ENABLED_PDBS_ON_STANDBY
启用这个参数意味着,可以指定部分PDB,复制到备库中。
ADG现在支持内存列(In-Memorycolumn)到备库
RMAN下使用duplicate命令建立DG far sync instance。