我是靠谱客的博主 害怕心锁,最近开发中收集的这篇文章主要介绍Oracle Dataguard 主备库的切换方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

主备库的切换主要在两种情况下切换,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)对新的主用数据库做全备份.

转载于:https://blog.51cto.com/linux10000/2107351

最后

以上就是害怕心锁为你收集整理的Oracle Dataguard 主备库的切换方法的全部内容,希望文章能够帮你解决Oracle Dataguard 主备库的切换方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(74)

评论列表共有 0 条评论

立即
投稿
返回
顶部