<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> startup nomount; 已连接到目标数据库 (未启动) oracle 例程已启动 系统全局区域总计 135338868 字节 Fixed Size 453492 字节 Variable Size 109051904 字节 Database Buffers 25165824 字节 Redo Buffers 667648 字节 |
2.恢复controlfile
RMAN> restore controlfile from 'd:/orabak/C-142338310-20060814-06'; 启动 restore 于 17-8月 -06 分配的通道: ORA_DISK_1 通道 ORA_DISK_1: sid=11 devtype=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 'alter database mount'; sql 语句: alter database mount RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03009: failure of sql command on default channel at 08/17/2006 11:24:40 RMAN-11003: failure during parse/execution of SQL statement: alter database mount ORA-01991: 无效的口令文件'D:/oracle/ora92/DATABASE/PWDhunter.ORA' |
3.重创password file
C:/>orapwd file=D:/oracle/ora92/DATABASE/PWDhunter.ORA password=hunter0 |
4.查看备份并用RMAN恢复
RMAN> list backup; RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of list command at 08/17/2006 11:26:12 RMAN-06189: current DBID 149324621 does not match target mounted database (14233 8310) RMAN> set dbid=142338310; 正在执行命令: SET DBID RMAN> restore database ; 启动 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.BAK tag=TAG20060814T152959 params=NULL 通道 ORA_DISK_1: 恢复完成 完成 restore 于 17-8月 -06 RMAN> recover database; 启动 recover 于 17-8月 -06 使用通道 ORA_DISK_1 正在开始介质的恢复 无法找到存档日志 存档日志线程 =1 序列=21 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of recover command at 08/17/2006 12:04:50 RMAN-06054: media recovery requesting unknown log: thread 1 scn 3280421 由于归档和在线日志文件丢失,所以无法recover,只能resetlogs open打开 sql> alter database open resetlogs; 数据库已更改。 sql> |