oracle主备机制,Oracle Dataguard 主备库的切换方法
主备库的切换主要在两种情况下切换,Switchover和Failover,这两种切换都需要手工执行完成。一是Switchover(计划中的切换,不会丢失数据)二是Failover(当主库出现故障的时候需要主备库切换角色)1,Switchover的切换方法主库端:select switchover_status from v$database;如果是to standby表可以正常切换.直接执行alt
主备库的切换主要在两种情况下切换,Switchover和Failover,这两种切换都需要手工执行完成。
一是Switchover(计划中的切换,不会丢失数据)
二是Failover(当主库出现故障的时候需要主备库切换角色)
1,Switchover的切换方法
主库端:
select switchover_status from v$database;
如果是to standby表可以正常切换.
直接执行alter database commit to switchover to physical standby;
否则执行:alter database commit to switchover to physical standby with session shutdown;
shutdown immediate;
startup nomount;
alter database mount standby database;
alter database recover managed standby database disconnect from session;
备库端:
select switchover_status from v$database;
如果是to_primary表可以正常切换.
执行: alter database commit to switchover to primary;
否则执行: alter database commit to switchover to primary with session shutdown;
shutdown immediate;
startup;
2,Failover切换方法
(1)判断主数据库确实出现严重的硬件故障或其他原因导致主数据库无法启动。
(2)在物理备用数据库上检查是否有archive redo log gaps
sql>SELECT THREAD#,LOW_SEQUENCE#,HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;
(3)消除archive redo log gaps
从主数据库上或其他备份的地方把没有传到物理备用数据库的archive redo log传到物理备用数据库上,并注册到物理备用数据库的controlfile中。
sql> ALTER DATABASE REGISTER PHYSICAL LOGFILE 'archive redo log文件名称';
重复2,3步骤直到V$ARCHIVE_GAP视图无记录存在。
(4)在物理备用数据库上发起failover操作
sql > ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH FORCE;
(5)把物理备用数据库转化成主用角色
sql> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;
(6)把新的主用数据库重新启动
sql> SHUTDOWN IMMEDIATE;
sql> STARTUP;
(7)对新的主用数据库做全备份.
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)