控制文件丢失的解决办法
时间:2007-12-23 来源:不详 作者:迈克DB
客户报告数据库故障,新来的系统治理员误操作。删掉了一些文件。
询问:删掉了那些文件?
答曰:所有重要数据文件,所有控制文件。数据库原来是归档模式,用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>}
usingtargetdatabasecontrolfileinsteadofrecoverycatalog
allocatedchannel:C1
channelC1:sid=15devtype=DISK
Startingbackupat18-JUL-04
channelC1:startingfulldatafilebackupset
channelC1:specifyingdatafile(s)inbackupset
includingcurrentSPFILEinbackupset
includingcurrentcontrolfileinbackupset
inputdatafilefno=00001name=D:\ORACLE\ORADATA\DEMO\SYSTEM01.DBF
inputdatafilefno=00002name=D:\ORACLE\ORADATA\DEMO\UNDOTBS01.DBF
inputdatafilefno=00004name=D:\ORACLE\ORADATA\DEMO\EXAMPLE01.DBF
inputdatafilefno=00009name=D:\ORACLE\ORADATA\DEMO\XDB01.DBF
inputdatafilefno=00005name=D:\ORACLE\ORADATA\DEMO\INDX01.DBF
inputdatafilefno=00008name=D:\ORACLE\ORADATA\DEMO\USERS01.DBF
inputdatafilefno=00003name=D:\ORACLE\ORADATA\DEMO\DRSYS01.DBF
inputdatafilefno=00006name=D:\ORACLE\ORADATA\DEMO\ODM01.DBF
织梦内容管理系统
inputdatafilefno=00007name=D:\ORACLE\ORADATA\DEMO\TOOLS01.DBF
channelC1:startingpiece1at18-JUL-04
channelC1:finishedpiece1at18-JUL-04
piecehandle=D:\KDE\DEMO_01FR79OT_1_1.DBFcomment=NONE
channelC1:backupsetcomplete,elapsedtime:00:01:17
Finishedbackupat18-JUL-04
sqlstatement:altersystemarchivelogcurrent
releasedchannel:C1
--如上所示,我们做了一次数据库的Full备份.备份片中包括控制文件.注重上面输出内容的黑体部分.我们在后面的恢复操作中会用到.
模拟错误,关掉实例,删掉所有的控制文件和所有的.DBF文件。然后starup会看到如下的出错信息:
SQL>startup
ORACLEinstancestarted.
TotalSystemGlobalArea152115804bytes
FixedSize453212bytes
VariableSize100663296bytes
DatabaseBuffers50331648bytes
RedoBuffers667648bytes
ORA-00205:errorinidentifyingcontrolfile,checkalertlogformoreinfo
查看alertLog,应该是系统找不到控制文件.现在情形和客户问题一致.不过在继续讲述之前,我们还需要介绍一点背景知识.
背景知识:
上一篇:Oracle函数大全 下一篇:浅谈如何有效建立权限管理体系
文章评论
共有位Admini5网友发表了评论 查看完整内容