oracle RAC中表空間資料檔案錯誤建立到了節點本地位置

Z少校發表於2017-01-16
    由於測試環境和生產環境不同,測試環境為單例項,生產環境為oracle RAC,當批次執行指令碼時由於程式設計師疏忽,將其中一個建立表空間的指令碼資料檔案路徑為修改成叢集路徑,導致表空間的資料檔案建立到了節點1的本地目錄,指令碼執行正常,但是你會發現後期建立表時發現有個別表節點2查詢報錯。
解決的方法:
1.關閉整個叢集,然後在節點1中grid使用者中登入asmcdm,並執行一下命令:
ASMCMD>cd data/orcl/datafile/
ASMCMD> cp /u02/app/oracle/datafile/tsys.dbf .  (tsys.dbf是錯誤建立的資料檔案
copying /u02/app/oracle/datafile/tsys.dbf -> +data/orcl/datafile/tsys.dbf  
再講叢集啟動到mount狀態: srvctl start database -d 例項名 -o mount
進入資料庫中將表空間重新命名: alter datavase rname file '/u02/app/oracle/datafile/tsys.dbf' to '+data/orcl/datafile/tsys.dbf';
再將叢集關閉並正常啟動即可。

2.如果使用1方法無法將錯誤建立的表空間檔案cp到共享磁碟,而且重啟叢集報錯,導致無法啟動時,
使用命令啟動建立錯誤表空間的節點:srvctl start instance -dorcl -i orcl1
因為錯誤建立的資料檔案在節點1上,你可以啟動節點1:
(1)建立新的表空間,將錯誤建立的表空間中存放的資料庫物件移動到正確建立的表空間中去。
(2)暫時解決方法是講該錯誤表空間中的物件使用exp或者expdp匯出成dmp檔案,然後將該錯誤表空間刪除掉,關閉叢集然後在正常重啟整個叢集
按照正確的方式在asm中建立表空間,然後將匯出的dmp檔案匯入進去即可。


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

相關文章