控制文件全部丢失的恢复测试

控制文件全部丢失的恢复测试

1.rman备份数据库,0级增量备份,控制文件配置为自动备份。

  D:\>rman target sys/system@orcl catalog rman/rman@rmancat
 
  恢复管理器: Release 10.2.0.3.0 - Production on 星期二 9月 20 10:42:43 2011
 
  Copyright (c) 1982, 2005, Oracle.  All rights reserved.
 
  连接到目标数据库: ORCL (DBID=1286153759)
  连接到恢复目录数据库
  RMAN> run{
  2> allocate channel ch1 device type disk;
  3> backup tag 'incr_0' incremental level 0 database;
  4> sql 'alter system archive log current';
  5> backup archivelog all delete input;
  6> release channel ch1;
  7> }
 
  分配的通道: ch1
  通道 ch1: sid=159 devtype=DISK
 
  启动 backup 于 20-9月 -11
  通道 ch1: 启动增量级别 0 数据文件备份集
  通道 ch1: 正在指定备份集中的数据文件
  输入数据文件 fno=00001 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
  输入数据文件 fno=00003 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
  输入数据文件 fno=00005 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
  输入数据文件 fno=00002 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
  输入数据文件 fno=00004 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
  通道 ch1: 正在启动段 1 于 20-9月 -11
  通道 ch1: 已完成段 1 于 20-9月 -11
  段句柄=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2011_09_20\O1
  _MF_NNND0_INCR_0_77HZP9RH_.BKP 标记=INCR_0 注释=NONE
  通道 ch1: 备份集已完成, 经过时间:00:00:35
  完成 backup 于 20-9月 -11
 
  启动 Control File and SPFILE Autobackup 于 20-9月 -11
  段 handle=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\AUTOBACKUP\2011_09_2
  0\O1_MF_S_762346093_77HZQG3H_.BKP comment=NONE
  完成 Control File and SPFILE Autobackup 于 20-9月 -11

  sql 语句: alter system archive log current
 
  启动 backup 于 20-9月 -11
  当前日志已存档
  通道 ch1: 正在启动存档日志备份集
  通道 ch1: 正在指定备份集中的存档日志
  输入存档日志线程 =1 序列 =3 记录 ID=20 时间戳=762346101
  输入存档日志线程 =1 序列 =4 记录 ID=21 时间戳=762346102
  通道 ch1: 正在启动段 1 于 20-9月 -11
  通道 ch1: 已完成段 1 于 20-9月 -11
  段句柄=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2011_09_20\O1
  _MF_ANNNN_TAG20110920T104823_77HZQR7C_.BKP 标记=TAG20110920T104823 注释=NONE
  通道 ch1: 备份集已完成, 经过时间:00:00:02
  通道 ch1: 正在删除存档日志
  存档日志文件名 =D:\ORACLE\PRODUCT\10.2.0\ARCH\ORCL\ARC00003_0762342250.001 记录
  ID=20 时间戳 =762346101
  存档日志文件名 =D:\ORACLE\PRODUCT\10.2.0\ARCH\ORCL\ARC00004_0762342250.001 记录
  ID=21 时间戳 =762346102
  完成 backup 于 20-9月 -11
 
  启动 Control File and SPFILE Autobackup 于 20-9月 -11
  段 handle=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\AUTOBACKUP\2011_09_2
  0\O1_MF_S_762346106_77HZQV20_.BKP comment=NONE
  完成 Control File and SPFILE Autobackup 于 20-9月 -11
 
  释放的通道: ch1
 
  RMAN>

2.向测试表中插入数据
  SQL> insert into test1 values(34,5,90);
 
  已创建 1 行。
 
  SQL> commit;
 
  提交完成。

3.关闭数据库,删除所有控制文件。
  SQL> shutdown immediate;
  数据库已经关闭。
  已经卸载数据库。
  ORACLE 例程已经关闭。
  SQL> host del d:\oracle\product\10.2.0\oradata\orcl\control*.ctl

4.启动数据库
  SQL> startup;
  ORACLE instance started.
 
  Total System Global Area  205520896 bytes
  Fixed Size                  1289700 bytes
  Variable Size             180355612 bytes
  Database Buffers           16777216 bytes
  Redo Buffers                7098368 bytes
  ORA-00205: error in identifying control file, check alert log for more info

5.从备份中恢复控制文件
  D:\>rman target sys/system@orcl catalog rman/rman@rmancat
 
  恢复管理器: Release 10.2.0.3.0 - Production on 星期二 9月 20 11:00:59 2011
 
  Copyright (c) 1982, 2005, Oracle.  All rights reserved.
 
  连接到目标数据库: orcl (未装载)
  连接到恢复目录数据库
 
  RMAN> restore controlfile;
 
  启动 restore 于 20-9月 -11
  分配的通道: ORA_DISK_1
  通道 ORA_DISK_1: sid=156 devtype=DISK
 
  通道 ORA_DISK_1: 正在开始恢复数据文件备份集
  通道 ORA_DISK_1: 正在复原控制文件
  通道 ORA_DISK_1: 正在读取备份段 D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORC
  L\AUTOBACKUP\2011_09_20\O1_MF_S_762346106_77HZQV20_.BKP
  通道 ORA_DISK_1: 已恢复备份段 1
  段句柄 = D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\AUTOBACKUP\2011_09_20
  \O1_MF_S_762346106_77HZQV20_.BKP 标记 = TAG20110920T104826
  通道 ORA_DISK_1: 恢复完成, 用时: 00:00:03
  输出文件名=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL
  输出文件名=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL02.CTL
  输出文件名=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL03.CTL
  完成 restore 于 20-9月 -11
 
  SQL> alter database mount;
 
  Database altered.

6.尝试打开数据库,报错。
  SQL> alter database open;
  alter database open
  *
  ERROR at line 1:
  ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
 
 
  SQL> alter database open resetlogs;
  alter database open resetlogs
  *
  ERROR at line 1:
  ORA-01152: file 1 was not restored from a sufficiently old backup
  ORA-01110: data file 1: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF'


7.做介质恢复
  RMAN> recover database;
 
  启动 recover 于 20-9月 -11
  释放的通道: ORA_DISK_1
  启动 implicit crosscheck backup 于 20-9月 -11
  分配的通道: ORA_DISK_1
  通道 ORA_DISK_1: sid=156 devtype=DISK
  已交叉检验的 6 对象
  完成 implicit crosscheck backup 于 20-9月 -11
 
  启动 implicit crosscheck copy 于 20-9月 -11
  使用通道 ORA_DISK_1
  完成 implicit crosscheck copy 于 20-9月 -11
 
  搜索恢复区域中的所有文件
  正在编制文件目录...
  目录编制完毕

  已列入目录的文件的列表
  =======================
  文件名: D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\AUTOBACKUP\2011_09_20\
  O1_MF_S_762346106_77HZQV20_.BKP
 
  使用通道 ORA_DISK_1
  RMAN-06900: 警告: 无法生成 V$RMAN_STATUS 或 V$RMAN_OUTPUT 行
  RMAN-06901: 警告: 禁止更新 V$RMAN_STATUS 和 V$RMAN_OUTPUT 行
  来自目标数据库的 ORACLE 错误:
 
 
  正在开始介质的恢复
 
  存档日志线程 1 序列 5 已作为文件 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LO
  G 存在于磁盘上
  存档日志文件名 =D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG 线程 =1 序列 =5
 
  介质恢复完成, 用时: 00:00:01
  完成 recover 于 20-9月 -11
 
8.打开数据库
  SQL> alter database open resetlogs;
 
  Database altered.
  SQL> conn hr/hr;
  Connected.
  SQL> select * from test1;
 
          PK       COL1       COL2
  ---------- ---------- ----------
           1          1          1
           2          1          1
           3          1          1
           4         21          1
           5         22        102
          34          5         90
 
  6 rows selected.
 
可以看到之前插入的数据没有丢失,恢复成功。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/36590/viewspace-707935/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/36590/viewspace-707935/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值