Oracle數據庫恢復的方法我們經常會用到,下面就為您介紹重裝系統後Oracle數據庫恢復的方法,希望對您學習Oracle數據庫恢復方面能有所幫助。
我的電腦突然掛了,不得不重裝系統,不過我的Oracle裝在了D盤,所有的文件都還在,我相信一定能夠恢復,直到搞定工作,我才開始整我的數據庫,花了兩天時間,終於恢復了,慶祝一下,同時總結一下,希望有遇到同樣問題的朋友能夠快速搞定此類問題
第一種:
首先,備份數據庫(X:\oracle\oradata)下的數據文件,重新命名即可(否則裝數據庫的時候會提示sid已存在)。重新安裝數據庫,當然數據庫的名字就是你要恢復的名字。安裝完成後,打開控制面板,停止oracle的服務。把(X:\oracle\oradata)下新生成的文件改名,把原先目錄下的文件恢復名字。再重新啟動oracle服務和監聽。用sys/as dba 登陸數據庫,可能會提示權限不夠(ora-01031)修改(X:\Oracle\ora92\network\admin )文件夾下的sqlnet.ora文件,添加SQLNET.AUTHENTICATION_SERVICES= (NTS),增加權限。登陸進去後,打開table提示不能打開。打開common頁,執行命令alert database open;這時再刷新table,發現原先的表可以打開了。恢復成功了。再用原先數據庫的普通用戶進入。發現一切正常。至此,大功告成。
第二種:
1、首先,將原來的ORACLE文件夾改名,原來的路徑是D:/oracle。我暫時改成D:/oracle_old。找來ORACLE(我用的是ORACLE 9I)安裝光盤,將Oracle安裝在原來安裝的目錄下,這樣恢復起來更加方便,主要是注冊表的內容不用修改。
2、安裝完了之後,系統中又有一個可以使用的ORACLE了。這個時候要做的就是將原來的文件和數據恢復過來。第一步,先關閉ORACLE的所有已經啟動的項目,在“服務”裡面逐一關閉。然後,將安裝目錄改名。我現在用的是D:/oracle。改成D:/oracle_new。再將D:/oracle_old改成D:/oracle。 這樣理論上說從物理層面恢復了ORACLE了。但是我們發現,現在還不能啟動Oracle的監聽程序和服務程序。我們還要從邏輯上解決。
3、在DOS環境下執行一個刪除命令:oradim -delete -sid mm,其中mm為創建Oracle時候創建的實例 建議執行這個命令後重新啟動機器,重啟後就可以建立和原來實例名相同的實例。當然你懶,不重新啟動也可以,但是你的實例名就不能和原來的一樣了。
4、在DOS環境下執行命令 oradim -new -sid mm -startmode a -pfile "D:\Oracle\admin\mm\pfile\initmm.ora "創建一個新的實例,其中 “mm“為新數據庫的名稱。
5、啟動服務,先打開數據庫,然後可以用以前的用戶名和密碼登陸進去。 要補充的是,一般的Oracle數據庫的監聽程序都是用電腦的名稱來識別地址的,而不是127.0.0.1或者localhost。所以,如果我們安裝系統的時候用的是不同的電腦名稱(比如我原來用的是wm_mm。重新安裝後用的是wenming_mm),那麼我們還有一個工作要做,就是修改文件 listener.ora。將裡面的相關的東西改過來就可以了。
需要耐心、細心,可能在一步裡有一個細小的差別就會出些古怪的錯誤提示,有時需要根據錯誤提示采取策略,總之原理是,先裝一個一模一樣的Oracle,安裝目錄、數據庫名稱都一樣,這樣保證注冊表裡不用更改;再覆蓋物理文件,最後重新實例化,打開數據庫就可以進去了。
注:恢復必須要有以下文件 a、初始化參數文件INIT.ORA b、所有數據文件 .dbf c、所有重做日志文件(聯機日志、歸檔日志)redo d、所有控制文件 crtl e、internal密碼文件