[導讀]任何軟體都有可能在有意或無意的情況下被重新安裝,如Oracle重裝後資料庫怎麼恢複呢?情況發生在你是無意的情況下!ORACLE資料庫恢複的方法我們經常會用到,下面就為您介紹重裝系統後ORACLE資料庫恢複的方法,希望對您學習ORACLE資料庫恢複方面能有所協助。
任何軟體都有可能在有意或無意的情況下被重新安裝,如Oracle重裝後資料庫怎麼恢複呢?情況發生在你是無意的情況下!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密碼檔案
原文出自【位元網】,http://soft.chinabyte.com/database/382/12103382.shtml