ITPub博客

首页 > Linux操作系统 > Linux操作系统 > rman(4)--数据恢复顾问

rman(4)--数据恢复顾问

原创 Linux操作系统 作者:linfeng_oracle 时间:2013-08-15 23:12:25 0 删除 编辑

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/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 临时表空间组
请登录后发表评论 登录
全部评论

注册时间:2011-09-14

  • 博文量
    76
  • 访问量
    413983