利用TAR恢復ORACLE RAC環境的軟體目錄

yangtingkun發表於2007-10-06

簡單記錄了使用tar恢復ORACLE RAC環境的軟體目錄過程。


前兩天測試RAC環境的一臺伺服器的一塊硬碟報銷了,由於是測試庫,沒有做RAID,上面所有的東西都找不到了。

RAC環境所有的資料檔案都存放到了單獨的儲存裝置上,不過這個目錄儲存的是ORACLE_HOMEORACLE_CRS_HOMEORACLECLUSTERWAREDATABASE SOFTWARE全部丟失。

由於RAC環境中兩個節點的ORACLE_HOMEORACLE_CRS_HOME基本上都是一致的,於是打算直接將另外一個節點的ORACLE_HOMEORACLE_CRS_HOME打包過來。

在利用tarORACLE_HOMEORACLE_CRS_HOME打包之前,首先透過/etc/init.d/init.crs stop來關閉所有資料庫和CLURSTERWARE相關的程式,避免在打包過程中出現不一致的情況。

然後將另外一個節點的ORACLE_HOMEORACLE_CRS_HOME目錄打包,複製到本地的相應目錄下,然後展開。

編輯ORACLE_HOME/dbs目錄下的初始化引數,包括ASM例項1的初始化檔案和資料庫例項1的初始化檔案。不僅要修改檔案的名稱,還要修改其中的內容。使得例項1可以透過這個初始化引數順利啟動。如果利用共享儲存中的SPFILE啟動,則PFILE只是一個指向,那麼只要簡單的修改名稱就可以了。

更改ORACLE_CRS_HOME目錄下和主機名相關的配置,將包含例項2所在主機的主機名的檔案改名為例項1所在主機的主機名。

修改完畢後,利用/etc/init.d/init.crs start來啟動RAC例項1

整個過程中,僅碰到了一個問題,不過解決這個問題用了我將近兩天的時間。開始的時候執行init.crs start命令,伺服器馬上就重啟了。而且沒有任何有價值的報錯資訊。

利用init.crs disable禁止主機在啟動的時候自動重啟,然後仔細檢查系統重啟的原因。在檢查過程中,還出現了Oracle CSSD failure. Rebooting for cluster integrity.的錯誤。

最後發現原因是ORACLE_CRS_HOMElog目錄下有一個目錄,這個目錄名稱就是所在主機的主機名racnode2。開始我認為這個是個空目錄,直接建立了一個racnode1的目錄,沒想到這個目錄下有很多子目錄,oracle找不到對應的目錄,因此認為系統檢查沒有透過而直接重啟了。利用mv將整個目錄改名後,RAC環境正常啟動。

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

相關文章