【新炬網路名師大講堂】Data Guard–物理主備庫切換

shsnchyw發表於2014-12-26

近期因為工作的需要,研究了一些DG的東西,以下是Performing a Switchover to a Physical Standby Database的操作步驟,主要是參考官方文件和網上一些資料,整理而成:

1、減少例項

在切換之前必須把資料庫減少為一個例項,即RAC的話,只留一個節點。
shutdown immediate
或(緊急時在輔助例項執行)
shutdown abort

2、首先在主庫確認沒有日誌缺口

SQL> select STATUS, GAP_STATUS from V$ARCHIVE_DEST_STATUS where DEST_ID = 2;
應該返回 VALID 和 NO GAP。
刪除 LOG_ARCHIVE_DEST_N 引數中的所有延遲應用(delay)重做日誌設定,你要確認所有變化都在備庫應用,才能確保無資料丟失。
確認所有重做日誌都已在備庫應用,查詢備庫:
SQL> select NAME, VALUE, DATUM_TIME from V$DATAGUARD_STATS;
不應該返回 transport lag 或 apply lag, finish time 應該為0.

3、檢查先決條件

檢查完這些先決條件後,確認主庫可以進行角色切換,查詢主庫:
SQL> select SWITCHOVER_STATUS from V$DATABASE;
如果返回 TO STANDBY 或 SESSIONS ACTIVE,那麼主庫就可以進行切換。
切換主庫為備庫命令為:
alter database commit to switchover to physical standby with session shutdown;
shutdown immediate
startup mount

4、備庫切換為主庫

查詢備庫是否可以切換為主庫
select SWITCHOVER_STATUS from V$DATABASE;
如果返回 TO PRIMARY 或 SESSIONS ACTIVE,就可以切換。
如果返回 SWITCHOVER LATENT 或 SWITCHOVER PENDING,就要去檢查告警日誌,看有什麼問題,一般是需要應用一些日誌。
如果是需要應用日誌的話,在備庫執行如下命令:
recover standby database using backup controlfile;
在應用日誌前應該是 SWITCHOVER PENDING 狀態,完成應用後,會變成 TO PRIMARY 或 SESSIONS ACTIVE狀態。
切換備庫為主庫:
alter database commit to switchover to  primary with session shutdown;
開啟新主庫:
alter database open;

5、在原主庫(現備庫)啟用日誌應用

如果其他物理備庫被停止,也需要啟用日誌應用
alter database recover managed standby databse using current logfile disconnect from session;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29960155/viewspace-1380942/,如需轉載,請註明出處,否則將追究法律責任。

相關文章