resetlogs後使用rman備份全庫提示nas路徑找不到

wxjzqym發表於2012-07-27

    由於開發需求要將測試庫不完全恢復到某一個時間點,由於恢復時間較長於是指令碼中只執行到recover這一步,等第二天上班在執行最後一步alter database open resetlogs。resetlogs成功後立即對資料庫做個全備。觀察日誌發現如下內容:
    ORA-19504: failed to create file "/u01/oracle/10.2.0/db_1/dbs/test/level0_TEST_12423_1_47nh4i35.bak"
ORA-27040: file create error, unable to create file
Linux-x86_64 Error: 2: No such file or directory
     由於備份是儲存在nas裝置上,而nas裝置對映給rman的目錄為/test,從出錯資訊發現rman無法找到nas的正確儲存路徑於是將備份存放到ORACLE_HOME/test這個目錄了,而這個目錄又不存在所以報錯。最後發現問題是出在alter database open resetlogs這一步中,由於之前的恢復操作時在rman下進行的,所以相關資訊都已同步到本地控制檔案和catalog中,而最後一步卻是單獨在sqlplus裡執行的,於是最新的incarnation只被本地庫識別,而catalog中存放的還是上一個incarnation,於是導致備份失敗。
      解決方法如下:(1-3步須同時連線target和catalog)
     1.在rman中執行list incarnation;
     2.根據上一步顯示的reset time找到當前的Inc key
     3.執行reset database to incarnation Inc_key
     4.進入catalog資料庫中執行如下sql確任第3步設定的Inc_key為當前的incarnation
select DBINC_KEY,RESETLOGS_TIME,RESETLOGS_CHANGE#,CURRENT_INCARNATION from rc_database_incarnation where name='TEST';(TESTdb_name)
     重新全庫備份,問題解決!

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

相關文章