Controlfile和system01資料檔案丟失的恢復(透過standby)

guocun09發表於2017-10-26

問題

巴西時間:Fri Nov 16 21:00:02 2012,北京時間:週六早上7

DELL 2950 server + Oracle 9.2.0.7

/ ,/u01(ORACLE_HOME,ORACLE_BASE)相關一塊硬碟RAID1 (76G)

磁碟陣列卡 同時壞掉

/data(大部份datafile,redo logfile)  RAID5 (146G) 沒有損壞

 

分析

如果備份啟用的話,需要變更IP,做重做新的standbyDB,而且redo中的資料會丟一些。

因為redo logfile/data下沒有丟失,所有主庫open的話不需要resetlog方式

 

處理

更換好的硬碟和陣列卡,保留/data 磁碟重灌系統。

重灌系統後只有/data下資料有效,其他資料丟失。

1.       恢復資料庫軟體

原庫oracle軟體裝在/u01目錄,丟失後透過standby DBcopy過來使用

2.       恢復system01.dbf

/u01/product/oradata/bzdt2/system01.dbf

/u01/product/oradata/bzdt2/cwmlite01.dbf

/u01/product/oradata/bzdt2/indx01.dbf

也是透過copy standby

3.       恢復controlfile

copy standby中的controlfile

4.       Recover database standby方式

Sql>startup nomunt;

Sql>alter database mount standby database;

Sql>recover standby database;--此時指定redologfile

Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

/data/bzdt2/redo01b.log

5.       建立主庫controlfile

此時,所有datafileSCN一致,但資料庫還是standby狀態,如果啟用的話有需要重新建立standby database.使用alter database backup controlfile to trace;

alter database nomount;之後透過指令碼手動建立ccontrolfile使用noresetlog方式

recover database;

6.       最後alter database open;

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

相關文章