<script type="text/javascript"> google_ad_client = "pub-6430022987645146"; google_ad_slot = "8067578699"; google_ad_width = 250; google_ad_height = 250; </script><script>window.google_render_ad();</script>
OS和oracle软件以及所有的datafile,redologfile,controlfile所在的磁盘突然全损坏,幸好还有rman的全备,所以只好重安装OS,oracle软件,然进行恢复。
1.用RMAN启动到nomount
RMAN>startupnomount; 已连接到目标数据库(未启动) oracle例程已启动 系统全局区域总计135338868字节 FixedSize453492字节 VariableSize109051904字节 DatabaseBuffers25165824字节 RedoBuffers667648字节 |
2.恢复controlfile
RMAN>restorecontrolfilefrom'd:/orabak/C-142338310-20060814-06'; 启动restore于17-8月-06 分配的通道:ORA_DISK_1 通道ORA_DISK_1:sid=11devtype=DISK 通道ORA_DISK_1:正在恢复控制文件 通道ORA_DISK_1:恢复完成 正在复制控制文件 输出文件名=D:/ORACLE/ORADATA/HUNTER/CONTROL01.CTL 输出文件名=D:/ORACLE/ORADATA/HUNTER/CONTROL02.CTL 输出文件名=D:/ORACLE/ORADATA/HUNTER/CONTROL03.CTL 完成restore于17-8月-06 RMAN>sql'alterdatabasemount'; sql语句:alterdatabasemount RMAN-00571:=========================================================== RMAN-00569:===============ERRORMESSAGESTACKFOLLOWS=============== RMAN-00571:=========================================================== RMAN-03009:failureofsqlcommandondefaultchannelat08/17/200611:24:40 RMAN-11003:failureduringparse/executionofSQLstatement:alterdatabasemount ORA-01991:无效的口令文件'D:/oracle/ora92/DATABASE/PWDhunter.ORA' |
3.重创password file
C:/>orapwdfile=D:/oracle/ora92/DATABASE/PWDhunter.ORApassword=hunter0 |
4.查看备份并用RMAN恢复
RMAN>listbackup; RMAN-00571:=========================================================== RMAN-00569:===============ERRORMESSAGESTACKFOLLOWS=============== RMAN-00571:=========================================================== RMAN-03002:failureoflistcommandat08/17/200611:26:12 RMAN-06189:currentDBID149324621doesnotmatchtargetmounteddatabase(14233 8310) RMAN>setdbid=142338310; 正在执行命令:SETDBID RMAN>restoredatabase; 启动restore于17-8月-06 使用通道ORA_DISK_1 通道ORA_DISK_1:正在开始恢复数据文件备份集 通道ORA_DISK_1:正在指定从备份集恢复的数据文件 正将数据文件00001恢复到D:/ORACLE/ORADATA/HUNTER/SYSTEM01.DBF 正将数据文件00002恢复到D:/ORACLE/ORADATA/HUNTER/UNDOTBS01.DBF 正将数据文件00004恢复到D:/ORACLE/ORADATA/HUNTER/DRSYS01.DBF 正将数据文件00005恢复到D:/ORACLE/ORADATA/HUNTER/EXAMPLE01.DBF 正将数据文件00006恢复到D:/ORACLE/ORADATA/HUNTER/INDX01.DBF 正将数据文件00008恢复到D:/ORACLE/ORADATA/HUNTER/TEST04.DBF 正将数据文件00009恢复到D:/ORACLE/ORADATA/HUNTER/USERS01.DBF 正将数据文件00010恢复到D:/ORACLE/ORADATA/HUNTER/XDB01.DBF 正将数据文件00011恢复到D:/ORACLE/ORADATA/HUNTER/RMAN_TS.DBF 通道ORA_DISK_1:已恢复备份段1 段handle=D:/ORABAK/FULL_DB_13_1HHQNJNN_1_1.BAKtag=TAG20060814T152959params=NULL 通道ORA_DISK_1:恢复完成 完成restore于17-8月-06 RMAN>recoverdatabase; 启动recover于17-8月-06 使用通道ORA_DISK_1 正在开始介质的恢复 无法找到存档日志 存档日志线程=1序列=21 RMAN-00571:=========================================================== RMAN-00569:===============ERRORMESSAGESTACKFOLLOWS=============== RMAN-00571:=========================================================== RMAN-03002:failureofrecovercommandat08/17/200612:04:50 RMAN-06054:mediarecoveryrequestingunknownlog:thread1scn3280421 由于归档和在线日志文件丢失,所以无法recover,只能resetlogsopen打开 sql>alterdatabaseopenresetlogs; 数据库已更改。 sql> |