ITPub博客

首页 > 数据库 > Oracle > oracle dg切换操作示例

oracle dg切换操作示例

原创 Oracle 作者:datapeng 时间:2018-12-28 09:25:13 0 删除 编辑

  背景:应对发生灾难、故障和其他割接场合进行的灾备演练,包括主备切换和主机意外宕机。

  一、主备切换( 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 操作

###############

  1. 取消 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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-12-06

  • 博文量
    225
  • 访问量
    2514057