莫非定理在驗證著一切存在的東西,於是自己在RedHat上裝的Oracle 11g就被命中。本來安裝時就小心翼翼,不敢重啟機器(由於是我第一次安裝,所以特別擔心,),生怕出現問題,所以在安裝成功後就沒有關閉過機器。就在幾天前,由於機房整改,導致斷電。全部機器重啟,這一重啟,我安裝的oracle就掛了。當時,心裏面就涼了。那裡面可有260多G的資料那。我暈。對於我這樣的oracle菜鳥,可是如遭天崩。於是,快速開啟度娘,搜尋怎麼恢複。在看了一圈之後,選定了從oradata恢複。為了保險,我就把260多G的資料全部拷貝到B機器上。
首先,需要用原來的系統硬碟,在C機器上按著A機器(oracle掛的機器)上的設定做了一個系統。這裡一定要保證機器名和IP都要一樣。然後再用同一版本oracle安裝盤在C機器上安裝Oracle。在安裝中要設定環境變數(即.bash_profile檔案),這裡的環境變數更要與A機器上一致。然後開啟控制台,在sqlplus中用sys使用者登陸oracle資料庫,這時使用shutdown immediate命令關閉oracle資料庫。
然後,把B機器上oradata資料全部拷到C機器的oracle安裝目錄的同名檔案夾下,覆蓋到C機器上的oradata檔案夾。為了保險,可以用chown -R oracle:oinstall /home/app/oradata 和chown -R 775 /home/app/oradata命令設定檔案的屬性。到這裡之後,先不要急著啟動資料庫。而是要把flash_recovery_area中檔案全部刪除。然後自己再建立與SID同名的檔案夾(大小寫保持一致),然後把oradata檔案夾下一級檔案夾下的control01.ctl檔案拷貝到剛才在flash_recovery_area檔案下建立的SID同名檔案夾下,並重新命名為control02.ctl。
做好以上的這些操作之後,這是就可以用startup命令開啟資料庫。如果不報錯就可以正常使用了。(我在兩台機器上都測試通過)