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,应该是系统找不到控制文件.现在情形和客户问题一致.不过在继续讲述之前,我们还需要介绍一点背景知识.上一页
情况描述客户报告故障,新来的系统管理员误操作。删掉了一些文件。询问:删掉了那些文件?答曰:所有重要数据文件,所有控制文件。数据库原来是归档模式,用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,应该是系统找不到控制文件.现在情形和客户问题一致.不过在继续讲述之前,我们还需要介绍一点背景知识.上一页
相关文章推荐
- DBA工作备忘录之三:rman备份,未使用catalog,控制文件丢失的解决办法
- rman备份,未使用catalog,控制文件丢失的解决办法
- DBA工作备忘录之三:rman备份,未使用catalog,控制文件
- RMAN备份-未使用catalog-控制文件丢失
- RMAN未使用catalog备份丢失控制文件的恢复方法
- Oracle - 使用RMAN的备份及恢复一例-丢失所有控制文件
- 使用RMAN的备份及恢复一例-丢失所有控制文件
- 使用RMAN的备份及恢复一例-丢失所有控制文件
- RMAN备份恢复 控制文件和归档日志丢失情况
- rman实验之归档模式有备份,正常关机丢失控制文件的恢复
- RMAN备份之丢失数据文件及控制文件的恢复
- 丢失oracle参数文件,数据文件以及控制文件,只有rman备份的恢复
- 使用了博客园的备份后得到一个xml文件,不知道有没有css或者xslt文件可以在本地阅读文章,在网上找了半天也没有找到解决办法,难道要自己写?
- 使用RMAN和控制文件备份删除归档日志的SHELL脚本--RED HAT 5 LINUX 64
- 使用RMAN备份控制文件(control file)和系统参数文件(spfile)
- Oracle:只有rman备份(数据,参数,日志,控制文件全丢失)的恢复
- libz.so.1文件丢失,同时导致yum和rpm命令不能使用的解决办法?
- 使用RMAN和控制文件备份删除归档日志的SHELL脚本--RED HAT 5 LINUX 64
- rman备份丢失控制文件,利用dbms_backup_restore恢复
- Oracle:只有rman备份(数据,参数,日志,控制文件全丢失)的恢复