oracle数据库data guard 主库从库切换有以下几种方式:
1.switchover切换
有准备的、计划之中的切换,通常是系统升级、数据迁移等常态任务
–切换的时候,先主后备 将原standby数据库改为MAXIMIZE PERFORMANCE (这个是默认值,先检查一下,如果是就不用切换了) alter database set standby database to maximize performance;
1) 检查切换是否可行 SQL> select switchover_status from v$database; SWITCHOVER_STATUS TO STANDBY 1 row selected –据说TO STANDBY、SESSION ACTIVE都可以
2) 切换原主库为备库 SQL> alter database commit to switchover to physical standby ; 若是SESSION ACTIVE状态,带上with session shutdown SQL> alter database commit to switchover to physical standby with session shutdown ;
3)关闭原主库数据库,启动为standby模式 –如果设置了remote_archive_enable=’SEND’,要修改成’RECEIVE’ SQL> alter database set remote_archive_enable=’SEND’ scope=both; SQL> shutdown immediate; SQL> startup nomount; SQL> alter database mount standby database;
4 )检查原主库的切换结果 SQL> select switchover_status from v$database; SWITCHOVER_STATUS SWITCHOVER PENDING 1 row selected
5)将原备库切换成主库 SQL>alter database commit to switchover to primary; 如果出错为ORA-16139: 需要介质恢复,则执行 SQL>alter database recover managed standby database finish force; 然后继续执行 SQL>alter database commit to switchover to primary;
6)关闭原备库、重启 SQL> shutdown immediate; SQL> startup;
2.Failover切换
用于意料之外的突发情况,比如异常掉电、自然灾难等等。 1、 检查备库日志是否完成所有可用日志恢复 检查备库alert日志,查看所有可用的日志是否reply完成,完成后即可操作下面步骤。
2、 终止日志reply操作 SQL> alter database recover managed standby database cancel; Database altered. SQL> alter database recover managed standby database finish; Database altered
3、 检查数据库的状态为“ TO PRIMARY”即可(TO PRIMARY说明是备库) SQL> select open_mode,switchover_status from v$database; OPEN_MODE SWITCHOVER_STATUS
READ ONLY TO PRIMARY
4、 切换备库为主库角色 SQL> ALTER DATABASE ACTIVATE PHYSICAL STANDBY DATABASE; SQL> alter database commit to switchover to primary with session shutdown; Database altered. SQL> select open_mode from v$database; OPEN_MODE
MOUNTED SQL> alter database open; Database altered. 注意切换完成以后必须自行添加临时文件,当我们在Primary端添加一个临时表空间,Standby端虽然不能创建出临时文件,但是临时表空间的信息是联动的带入的
3.自动切换DG_Broker
参考这篇文章:http://blog.csdn.net/shiyu1157758655/article/details/55504026
内容来源1:oracle dg主从切换 内容来源2:Oracle Data Guard详细配置过程 内容来源3:ORACLE数据库Dataguard dg broker 3大模式相互切换 主备库互相切换
把数据库从数据同步和只读打开状态切换到快照备用状态,只需要在备用数据库上执行Alter database convert to snapshot standby;而把数据库从快照备用切换会只读同步状态,只需要执行Alter database convert to physical standby就可以了 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|