rman(4)--数据恢复顾问
SQL> create tablespace test datafile 'G:\ORACLE\ORADATA\ORCL11G\TEST.DBF' size 10m autoextend off;
表空间已创建。
SQL> create user test identified by test default tablespace test quota unlimited on test;
用户已创建。
SQL> grant connect,resource to test;
授权成功。
SQL> create table test.t1 as select * from dba_users;
表已创建。
SQL> select count(*) from test.t1;
COUNT(*)
----------
16
模拟数据文件G:\ORACLE\ORADATA\ORCL11G\TEST.DBF丢失:
1、关闭数据库,手动删除G:\ORACLE\ORADATA\ORCL11G\TEST.DBF数据文件
SQL> shutdown immediate;
SQL> host del G:\ORACLE\ORADATA\ORCL11G\TEST.DBF
2、启动数据库
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 644468736 bytes
Fixed Size 1385480 bytes
Variable Size 356518904 bytes
Database Buffers 281018368 bytes
Redo Buffers 5545984 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 7: 'G:\ORACLE\ORADATA\ORCL11G\TEST.DBF'
3、运行数据恢复顾问
RMAN> list failure;
使用目标数据库控制文件替代恢复目录
数据库故障列表
=========================
失败 ID 优先级状态 检测时间 概要
------- -------- --------- ---------- -------
1145 HIGH OPEN 15-8月 -13 缺失一个或多个非系统数据文件
RMAN> advise failure;
数据库故障列表
=========================
失败 ID 优先级状态 检测时间 概要
------- -------- --------- ---------- -------
1145 HIGH OPEN 15-8月 -13 缺失一个或多个非系统数据文件
正在分析自动修复选项; 这可能需要一些时间
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=5 设备类型=DISK
分析自动修复选项完成
必需的手动操作
========================
没有可用的手动操作
可选手动操作
=======================
1. 如果无意中重命名或移动了文件 G:\ORACLE\ORADATA\ORCL11G\TEST.DBF, 请还原该文件
自动修复选项
========================
选项修复说明
------ ------------------
1 还原和恢复数据文件 7
策略: 修复操作包括无数据丢失的完全介质恢复
修复脚本: G:\ORACLE\diag\rdbms\orcl11g\orcl11g\hm\reco_3265260082.hm
对应脚本是:
# restore and recover datafile
restore datafile 7;
recover datafile 7;
sql 'alter database datafile 7 online';
4、接受建议
RMAN> repair failure;
策略: 修复操作包括无数据丢失的完全介质恢复
修复脚本: G:\ORACLE\diag\rdbms\orcl11g\orcl11g\hm\reco_3265260082.hm
修复脚本的内容:
# restore and recover datafile
restore datafile 7;
recover datafile 7;
sql 'alter database datafile 7 online';
是否确实要执行以上修复 (输入 YES 或 NO)? yes
执行修复脚本
启动 restore 于 15-8月 -13
使用通道 ORA_DISK_1
创建数据文件, 文件号 = 7 名称 = G:\ORACLE\ORADATA\ORCL11G\TEST.DBF
没有完成还原; 所有文件均为只读或脱机文件或者已经还原
完成 restore 于 15-8月 -13
启动 recover 于 15-8月 -13
使用通道 ORA_DISK_1
正在开始介质的恢复
线程 1 序列 192 的归档日志已作为文件 G:\ORACLE\ARCHIVE\ORCL11G\ARCHIVELOG\2013_08_07\O1_MF_1_192_9042RS2K_.ARC 存在于磁盘
线程 1 序列 193 的归档日志已作为文件 G:\ORACLE\ARCHIVE\ORCL11G\ARCHIVELOG\2013_08_07\O1_MF_1_193_9042RRP2_.ARC 存在于磁盘
线程 1 序列 1 的归档日志已作为文件 G:\ORACLE\ARCHIVE\ORCL11G\ARCHIVELOG\2013_08_07\O1_MF_1_1_90430NHC_.ARC 存在于磁盘上
线程 1 序列 2 的归档日志已作为文件 G:\ORACLE\ARCHIVE\ORCL11G\ARCHIVELOG\2013_08_07\O1_MF_1_2_90430PKP_.ARC 存在于磁盘上
线程 1 序列 3 的归档日志已作为文件 G:\ORACLE\ARCHIVE\ORCL11G\ARCHIVELOG\2013_08_09\O1_MF_1_3_90B2CR3T_.ARC 存在于磁盘上
线程 1 序列 4 的归档日志已作为文件 G:\ORACLE\ARCHIVE\ORCL11G\ARCHIVELOG\2013_08_11\O1_MF_1_4_90FRV7FS_.ARC 存在于磁盘上
线程 1 序列 5 的归档日志已作为文件 G:\ORACLE\ARCHIVE\ORCL11G\ARCHIVELOG\2013_08_11\O1_MF_1_5_90FTM76N_.ARC 存在于磁盘上
线程 1 序列 6 的归档日志已作为文件 G:\ORACLE\ARCHIVE\ORCL11G\ARCHIVELOG\2013_08_11\O1_MF_1_6_90GOMY9G_.ARC 存在于磁盘上
线程 1 序列 7 的归档日志已作为文件 G:\ORACLE\ARCHIVE\ORCL11G\ARCHIVELOG\2013_08_15\O1_MF_1_7_90SMNB3H_.ARC 存在于磁盘上
归档日志文件名=G:\ORACLE\ARCHIVE\ORCL11G\ARCHIVELOG\2013_08_07\O1_MF_1_192_9042RS2K_.ARC 线程=1 序列=192
归档日志文件名=G:\ORACLE\ARCHIVE\ORCL11G\ARCHIVELOG\2013_08_07\O1_MF_1_193_9042RRP2_.ARC 线程=1 序列=193
归档日志文件名=G:\ORACLE\ARCHIVE\ORCL11G\ARCHIVELOG\2013_08_07\O1_MF_1_1_90430NHC_.ARC 线程=1 序列=1
归档日志文件名=G:\ORACLE\ARCHIVE\ORCL11G\ARCHIVELOG\2013_08_07\O1_MF_1_2_90430PKP_.ARC 线程=1 序列=2
归档日志文件名=G:\ORACLE\ARCHIVE\ORCL11G\ARCHIVELOG\2013_08_09\O1_MF_1_3_90B2CR3T_.ARC 线程=1 序列=3
归档日志文件名=G:\ORACLE\ARCHIVE\ORCL11G\ARCHIVELOG\2013_08_11\O1_MF_1_4_90FRV7FS_.ARC 线程=1 序列=4
归档日志文件名=G:\ORACLE\ARCHIVE\ORCL11G\ARCHIVELOG\2013_08_11\O1_MF_1_5_90FTM76N_.ARC 线程=1 序列=5
介质恢复完成, 用时: 00:00:04
完成 recover 于 15-8月 -13
sql 语句: alter database datafile 7 online
修复故障已完成
是否要打开数据库 (输入 YES 或 NO)? yes
数据库已打开
5、验证数据
SQL> select count(*) from test.t1;
COUNT(*)
----------
16
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24996904/viewspace-768618/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24996904/viewspace-768618/