分类: 数据库开发技术
2011-01-04 13:08:58
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> |
chinaunix网友2011-01-05 11:03:38
很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com