ITPub博客

首页 > 数据库 > Oracle > Controlfile和system01數據文件丟失的恢復(通过standby)

Controlfile和system01數據文件丟失的恢復(通过standby)

原创 Oracle 作者:guocun09 时间:2017-10-26 15:16:19 0 删除 编辑

問題

巴西時間: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 DB中copy過來使用

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

此時,所有datafile的SCN一致,但數據庫還是standby狀態,如果激活的話有需要重新建立standby database.使用alter database backup controlfile to trace;

alter database nomount;之後通過腳本手動建立ccontrolfile使用noresetlog方式

再recover database;

6.       最後alter database open;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25583515/viewspace-2146445/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: LISTAGG 函数
请登录后发表评论 登录
全部评论
DBA,掌握Oracle,SQLServer,MySQL,hadoop,casscandra等数据库。喜爱深入研究数据库技术原理,擅长管理和优化工作。

注册时间:2011-10-02

  • 博文量
    177
  • 访问量
    686667