首页 > 数据库 > Oracle > oracle dg切换操作示例
背景:应对发生灾难、故障和其他割接场合进行的灾备演练,包括主备切换和主机意外宕机。
一、主备切换( switch over )
#################
# primary 操作
#################
1 )确认主机打开方式
SQL> select DATABASE_ROLE,PROTECTION_MODE,open_mode from v$database;
2 )切换到备机模式
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY;
###############
# standby 操作
###############
1 )取消备机日志应用
SQL> alter database recover managed standby database cancel;
2 )切换到主机模式
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;
3 )重启备库
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP;
###############
# primary 操作
###############
1 )重启主库
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
2 )调整为“ READ ONLY ”状态
SQL> alter database open;
3 )应用日志
SQL> alter database recover managed standby database using current logfile disconnect;
4 )确认 open_mode 为“ READ ONLY WITH APPLY ”
SQL> select open_mode from v$database;
#############
# test 测试
#############
在原备机上插入数据,测试原主机是否收到。
二、主库宕机( failover )
###############
# primary 操作
###############
$ ps –ef | grep pmon
$ kill -9 {pid_pmon}
###############
# standby 操作
###############
取消 standby 日志应用
standby SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
standby SQL> alter database recover managed standby database finish;
※如果没有应用standby redolog,此处使用下面的命令:
standby SQL> alter database recover managed standby database finish skip standby logfile;
2 )重启 db 到 mount 状态
standby SQL> shutdown immediate;
standby SQL> startup mount;
3 )切换到主机模式
standby SQL> alter database commit to switchover to primary;
standby SQL> alter database open;
#############
# test 测试
#############
测试原备机是否可以连接使用,并统计丢失数据。
如果是Oracle rac,在进行切换操作时,需要关闭一个节点即可,方法是一样的
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29371470/viewspace-2286738/,如需转载,请注明出处,否则将追究法律责任。