資料庫恢復(database restore)之兵不血刃——半小時恢復客戶資料庫

sqysl發表於2016-06-26

昨天,一個客戶打打來電話,說他們的資料庫壞了,不能用了,需要我幫助恢復下,這馬上要放假了,居然出了這事兒,自己也不太喜歡恢復資料庫這類,尤其是他們的資料庫是個win上的庫,但心裡很清楚,客戶比我們著急,客戶就是上帝,沒什麼好說的,開工吧。透過認真瞭解,大體明白了客戶的情況,他們的庫是在win上的Oracle11g,因為防毒軟體的把Oracle軟體的某些檔案當成了病毒給刪了,而且頑固到複製過去就會刪掉,後來也不知道刪了多少檔案,資料庫就起不來了,我也不知道他們把資料庫給主動關了,還是資料庫自己宕掉了,反正結果就是起不來了。經過檢查,資料檔案應該還沒問題,只是大體判斷而已,開始恢復吧。

1、安裝軟體

首先,得先重新安裝Oracle軟體,經過和客戶溝通,他們很自信的說可以自己重新安裝軟體,於是,先由他們來安裝資料庫軟體,為了保險起見,讓他們把軟體安裝到和之前不同的位置。讓我有點驚訝的是,客戶安裝軟體非常快,可能也就10多分鐘就裝完了。為了說明,假設原來的軟體安裝路徑為:

d:\app\erp\product\11.2.0\dbhome_1

新安裝軟體的路徑為:

d:\app\erp\product\11.2.0\dbhome_2

軟體裝完了,接下來需要做的就是看看能否用新安裝的軟體把資料庫拉起來。
2、設定環境變數

開啟計算機高階設定-->環境變數設定--->設定:

ORACLE_SID=ora11g

ORACLE_BASE=d:\app\erp\product\

ORACLE_HOME=d:\app\erp\product\11.2.0\dbhome_2

將path中oracle有關路徑d:\app\erp\product\11.2.0\dbhome_1\bin -->d:\app\erp\product\11.2.0\dbhome_2\bin

3、複製相應檔案:

cp d:\app\erp\product\11.2.0\dbhome_1\database\*.* d:\app\erp\product\11.2.0\dbhome_2\database\

cp d:\app\erp\product\11.2.0\dbhome_1\network\*.* d:\app\erp\product\11.2.0\dbhome_2\network\
4、登出並重新登入OS使用者
5、先刪除舊的oracle服務

oradim -delete -srvc oracleserviceora11g
6、新建oracle服務:
oradim -new -srvc oracleserviceora11g -sid ora11g -startmode auto -shutmode immediate -srvcstart demande -spfile
7、重啟新建的oracle服務

net start oracleserviceora11g

lsnrctl start
8、登入資料庫測試:
sqlplus test/test@ora11g
如果能順利登入資料庫,說明到此一切OK。
9、刪除舊的oracle軟體目錄,以釋放空間。

10、至此,客戶資料庫恢復完成,前後大概半個多小時的樣子。


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

相關文章