oracle dg切換操作示例

datapeng發表於2018-12-28

  背景:應對發生災難、故障和其他割接場合進行的災備演練,包括主備切換和主機意外當機。

  一、主備切換( 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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章