您的位置:首页 > 其它

DBA工作备忘录之三:rman备份,未使用catalog,控制文件丢失的解决办法

2008-04-27 09:32 459 查看
[]DBA工作备忘录之三:rman备份,未使catalog,控制文件丢失解决办法作者:Fenng日期:July192004
情况描述客户报告故障,新来的系统管理员误操作。删掉了一些文件。询问:删掉了那些文件?答曰:所有重要数据文件,所有控制文件。数据库原来是归档模式,用rman备份数据,rman使用控制文件。幸运的是,最后一次rmanfull备份是包括了控制文件在内。系统没有设定自动备份控制文件.现在状况是数据库无法启动.
不用说,客户的备份方案不够完善,但是这时候再去说这些话责备用户有事后诸葛亮之嫌,用户是上帝,不要去得罪他。还有,客户有Full备份(虽然不是自动备份控制文件,这样无法用常规的恢复步骤来进行恢复)。这对我们来说是个绝对的好消息。

下面我们通过一次模拟操作来演示这个问题的解决办法

解决过程首先,用控制文件作数据库系统的全备份

代码:------------------------蓝色部分是输入内容,黑色部分是敏感信息,须加以注意----------------------------------------------------C:WUTemp>rmantarget/

RecoveryManager:Release9.2.0.1.0-Production.Copyright(c)1995,2002,OracleCorporation.Allrightsreserved.connectedtotargetdatabase:DEMO(DBID=3272375326)

rman>run{2>allocatechannelC1typedisk;3>backupfulltag'FullBackup'format'd:/KDE/%d_%u_%s_%p.dbf'databaseincludecurrentcontrolfile;4>sql'altersystemarchivelogcurrent';5>releasechannelC1;6>}

usingtargetdatabasecontrolfileinsteadofrecoverycatalogallocatedchannel:C1channelC1:sid=15devtype=DISK

Startingbackupat18-JUL-04channelC1:startingfulldatafilebackupsetchannelC1:specifyingdatafile(s)inbackupsetincludingcurrentSPFILEinbackupsetincludingcurrentcontrolfileinbackupsetinputdatafilefno=00001name=D:/ORACLE/ORADATA/DEMOYSTEM01.DBFinputdatafilefno=00002name=D:/ORACLE/ORADATA/DEMO/UNDOTBS01.DBFinputdatafilefno=00004name=D:/ORACLE/ORADATA/DEMO/EXAMPLE01.DBFinputdatafilefno=00009name=D:/ORACLE/ORADATA/DEMO/XDB01.DBFinputdatafilefno=00005name=D:/ORACLE/ORADATA/DEMO/INDX01.DBFinputdatafilefno=00008name=D:/ORACLE/ORADATA/DEMO/USERS01.DBFinputdatafilefno=00003name=D:/ORACLE/ORADATA/DEMO/DRSYS01.DBFinputdatafilefno=00006name=D:/ORACLE/ORADATA/DEMO/ODM01.DBFinputdatafilefno=00007name=D:/ORACLE/ORADATA/DEMO/TOOLS01.DBFchannelC1:startingpiece1at18-JUL-04channelC1:finishedpiece1at18-JUL-04piecehandle=D:/KDE/DEMO_01FR79OT_1_1.DBFcomment=NONEchannelC1:backupsetcomplete,elapsedtime:00:01:17FinisheDBAckupat18-JUL-04

sqlstatement:altersystemarchivelogcurrent

releasedchannel:C1--如上所示,我们做了一次数据库的Full备份备份片中包括控制文件.注意上面输出内容的黑体部分.我们在后面的恢复操作中会用到.模拟错误,关掉实例,删掉所有的控制文件和所有的.DBF文件。然后starup会看到如下的出错信息:

SQL>startupORACLEinstancestarted.

TotalSystemGlobalArea152115804bytesFixedSize453212bytesVariableSize100663296bytesDatabaseBuffers50331648bytesRedoBuffers667648bytesORA-00205:errorinidentifyingcontrolfile,checkalertlogformoreinfo

查看alertLog,应该是系统找不到控制文件.现在情形和客户问题一致.不过在继续讲述之前,我们还需要介绍一点背景知识.上一页
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐