「这是我参与11月更文挑战的第21天,活动详情查看:2021最后一次更文挑战」
环境准备
主机名 | ip | DB Version | db_name | db_unique_name | |
---|---|---|---|---|---|
主库 | orcl | 192.168.56.120 | 11.2.0.4 | orcl | orcl |
备库 | orcl_stby | 192.168.56.121 | 11.2.0.4 | orcl | orcl_stby |
Notes:
1、db_unique_name主备库不能相同。
2、db_name主备库需保持一致。
3、主备库DB版本需保持一致。
提前搭建好ADG,请参考:
ADG单实例搭建系列之(Active Database Duplicate Using Image Copies)
一、Enable Broker
1 | sql复制代码--both databases (primary and standby) |
二、Register server with the broker
1 | bash复制代码dgmgrl sys/oracle@orcl |
三、Check the configuration and database
1 | bash复制代码SHOW CONFIGURATION; |
四、Database Switchover
Configure Listener Both Primary and Standby
1 | bash复制代码vi $TNS_AMDIN/listener.ora |
Notes:如果listener.ora不配置DGMGRL静态监听,SWITCHOVER将报错:ORA-12514。
1 | bash复制代码SWITCHOVER TO orcl_stby; |
主切备:
备切主:
五、Database Failover
主库提前开启FLASHBACK,Failover后还可以切回备库,防止主库废掉。
1 | sql复制代码ALTER DATABASE FLASHBACK ON; |
1 | bash复制代码##备库DGMGRL操作 |
原主库切换为备库:
1 | bash复制代码##备库DGMGRL操作 |
六、Snapshot Standby
Snapshot standby database是ORACLE 11g的新特性。允许Physical standby短时间的使用read write模式。***必须是ADG才支持。***
**注意:**一旦snapshot standby被激活的时间超出了primary 的最大负载时间,再次的本地更新操作将会产生额外的异常。
1 | bash复制代码##主库DGMGRL操作 |
切回物理备库:
1 | bash复制代码##主库DGMGRL执行 |
本文转载自: 掘金