通過dbf文件恢復oracle
可能有些人會由於各種原因經常重裝系統,但是系統裏面總是有一些比較重要的軟件在重裝後就不能用了。比如oracle數據庫,眾所周知數據庫如果通過dmp導入導出麻煩不說,還很耗時,特別是像筆者一個數據庫就有上百G的內容,通過導入dmp來恢復就更不現實了。遇到這樣的情況,我們就來通過已有的數據庫文件還原一個數據庫吧。
(1)準備一個和原來數據庫版本一樣的oracle安裝文件,如Oracle R2 (10.2.0.1) 64位企業版
(2)刪除或備份原來的數據庫安裝目錄,如“E:\oracle\product\10.2.0\db_1”
(3)點擊oracle安裝文件,開始進行安裝,註意這裏oracle安裝文件一定要是和以前同一個版本的。在安裝界面中將“Oracle主目錄位置”改成和以前的安裝路徑一樣,這裏是“E:\oracle\product\10.2.0\db_1”。同時我們這裏只要安裝軟件就好了,把“創建數據庫”前面的勾去掉。設置完成後點擊下一步。
(4) 數據庫軟件裝好了,打開一個cmd窗口,執行命令“oradim -new -sid XXX”來創建一個實例,其中XXX是數據庫以前的實例名。創建完成後我們的實例也就創建好了。這樣創建的實例需要每次手工啟動,如果你不喜歡這樣,就再執行另外一個命令來修改下設置“oradim.exe -edit -sid XXXX -startmode a”
(5)登錄oracle,啟動數據庫,同樣在cmd窗口下,先設置oracle_sid=XXX(註意按照實際的sid進行替換)。然後以管理員權限登錄數據庫“sqlplus / as sysdba”。登錄完成後執行startup,開始啟動數據庫。最後發現報了一個錯,原來是因為我們第一步備份的文件沒有替換回去。
(6)放回.dbf文件,重啟oracle服務後,配置監聽程序和網絡服務
將我們第一步步驟中備份的/database/initXXX.ora放回到以前的目錄中,再重新啟動下oracle實例,這次終於啟動成功了。後面的步驟就簡單了,配置下監聽程序,設置下tnsname,同時一定要修改註冊表中oracle_sid值,或者新增一個名為“oracle_sid”的環境變量。
參考文章
myscle,如何通過dbf文件恢復oracle
通過dbf文件恢復oracle