ORA-16139: media
recovery required
Discription :
Switch Over 成功之後,準備再做一次Switch Over,將DB回復成原本的角色時,
發生
ORA-16139的錯誤。如下:
SQL>
ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY ;
ALTER
DATABASE COMMIT TO SWITCHOVER TO PRIMARY
*
ERROR at
line 1:
當時的Alert
Log 如下:
Fri
Feb 8 11:31:21 2013
ALTER
DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN
Fri
Feb 8 11:31:21 2013
ALTER
DATABASE COMMIT TO SWITCHOVER TO PRIMARY
Database not recovered through
End-Of-REDO
Database not recovered through
End-Of-REDO
Switchover:
Media recovery required - standby not in limbo
ORA-16139
signalled during: ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WIT...
Cause :
在測試Data
Guard Switch Over是否成功時,
我先在Primary Role的DB建立了一張 table ,
然後將Standby Role 的 DB 開啟至 Read Only,
確認Archive Log 確實有被 Recovery之後,便開始接著第二次Switch Over的步驟。
以還原成 DB 原本各自的角色。
問題便發生在此時。
因為Primary Role DB 還是會寫入一些系統所產生的 redo log。
而這些Redo Log也會同時寫進Standby Role 的 redo
log中,
所以在Standby Role DB 下了 Alter database open read only指令後,
這個時間點之後Primary Role DB所產生的所有redo log,並沒有被standby role的 DB recover 到,
因而導致了兩者間的 redo log 不一致, Oracle便要求做一次回復,
所以產生了 ORA-16139:
media recovery required 這樣的錯誤。
Solution :
所以解決的辦法就是將standby role的DB shutdown immediate,
重新將他以備庫的角色開啟,
並開啟至 recover managed standby database disconnect from session。
成功後再繼續switch back的動作,便不會再發生此錯誤。
沒有留言:
張貼留言