RMAN-600(8201)錯誤的解決

yangtingkun發表於2012-04-12

根據錯誤資訊的判斷,找到一個不重建控制檔案的解決方案。

RMAN-600(8201)錯誤:

RMAN-600(8201)錯誤的重現:

 

 

其實解決方法很簡單,由於導致錯誤的原因是目前的主庫做過FAILOVER,導致RESETLOGS的時間比當前控制檔案中的RESETLOGS時間要大,Oracle在進行RMAN同步的時候判斷不嚴謹,導致資料同步不完整,並最終體現在一些RMAN命令上,比如SHOW ALLBACKUP等。

這個問題隻影響10.2.0.3及以下版本,因此升級是可以解決問題的。

此外,由於導致問題的根源在於控制檔案中的ORPHAN記錄,因此手工重建控制檔案也是確實可行的方案。

其實除了這些方法外,還有一個辦法。就是利用備庫或之前備份的控制檔案來建立CATALOG。由於只是當前的主庫經歷過FAILOVER,也就是RESETLOGS的操作,而原來的主庫也就是現在的備庫並沒有經歷這個操作,因此用之前的主庫也就是目前的備庫的控制檔案來註冊CATALOG就可以遮蔽這個錯誤。

測試將備庫SWITCHOVER為主庫,然後透過REGISTER DATABASE命令,可以順利的進行CATALOG的同步。再次執行SWITCHOVER,切換當前主庫為問題主庫,這時透過問題主庫連線剛才同步後的CATALOG,此時執行SHOW ALLBACKUP命令都不會再出現錯誤。

這種方法可以臨時的解決這個問題,但是一旦需要對問題主庫執行完全同步,則問題可能會重現。

除了使用STANDBY控制檔案外,如果可以找到資料庫FAILOVER之前的備份控制檔案,採用類似的方法,同樣可以解決這個問題。

 

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

相關文章