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:orabakC-142338310-20060814-06";
启动 restore 于 17-8月 -06
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=11 devtype=DISK
通道 ORA_DISK_1: 正在恢复控制文件
通道 ORA_DISK_1: 恢复完成
正在复制控制文件
输出文件名=D:OracleORADATAHUNTERCONTROL01.CTL
输出文件名=D:OracleORADATAHUNTERCONTROL02.CTL
输出文件名=D:OracleORADATAHUNTERCONTROL03.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:Oracleora92DATABASEPWDhunter.ORA"
3.重创password file
C:>orapwd file=D:Oracleora92DATABASEPWDhunter.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:OracleORADATAHUNTERSYSTEM01.DBF
正将数据文件00002恢复到D:OracleORADATAHUNTERUNDOTBS01.DBF
正将数据文件00004恢复到D:OracleORADATAHUNTERDRSYS01.DBF
正将数据文件00005恢复到D:OracleORADATAHUNTEREXAMPLE01.DBF
正将数据文件00006恢复到D:OracleORADATAHUNTERINDX01.DBF
正将数据文件00008恢复到D:OracleORADATAHUNTERTEST04.DBF
正将数据文件00009恢复到D:OracleORADATAHUNTERUSERS01.DBF
正将数据文件00010恢复到D:OracleORADATAHUNTERXDB01.DBF
正将数据文件00011恢复到D:OracleORADATAHUNTERRMAN_TS.DBF
通道 ORA_DISK_1: 已恢复备份段 1
段 handle=D:ORABAKFULL_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>