恢复归档日志(会恢复到归档日志所在目录,有初始化参数log_archive_dest_1决定。)
RMAN> list backup of archivelog all;
备份集列表
===================
BS 关键字 大小 设备类型占用时间 完成时间
------- ---------- ----------- ------------ ----------
13 16.94M DISK 00:00:04 11-10月-11
BP 关键字: 12 状态: AVAILABLE 已压缩: YES 标记: TAG20111011T193522
段名:/u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_11/o1_mf_annnn_TAG20111011T193522_798bhvwh_.bkp
备份集 13 中的已存档日志列表
线程序列 低 SCN 时间下限 下一个 SCN 下一次
---- ------- ---------- ---------- ---------- ---------
1 2 469822 09-10月-11 474560 10-10月-11
1 3 474560 10-10月-11 474563 10-10月-11
1 4 474563 10-10月-11 474566 10-10月-11
1 5 474566 10-10月-11 474569 10-10月-11
1 6 474569 10-10月-11 474571 10-10月-11
1 7 474571 10-10月-11 474573 10-10月-11
1 8 474573 10-10月-11 474575 10-10月-11
1 9 474575 10-10月-11 474577 10-10月-11
1 10 474577 10-10月-11 474579 10-10月-11
1 11 474579 10-10月-11 474581 10-10月-11
1 12 474581 10-10月-11 474583 10-10月-11
1 13 474583 10-10月-11 474585 10-10月-11
1 14 474585 10-10月-11 485487 10-10月-11
1 15 485487 10-10月-11 494945 11-10月-11
1 16 494945 11-10月-11 495088 11-10月-11
1 17 495088 11-10月-11 495267 11-10月-11
BS 关键字 大小 设备类型占用时间 完成时间
------- ---------- ----------- ------------ ----------
16 2.50K DISK 00:00:01 11-10月-11
BP 关键字: 15 状态: AVAILABLE 已压缩: YES 标记: TAG20111011T193554
段名:/u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_11/o1_mf_annnn_TAG20111011T193554_798bjv74_.bkp
备份集 16 中的已存档日志列表
线程序列 低 SCN 时间下限 下一个 SCN 下一次
---- ------- ---------- ---------- ---------- ---------
1 18 495267 11-10月-11 495283 11-10月-11
RMAN> restore archivelog sequence between 1 and 18;
启动 restore 于 11-10月-11
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动到默认目标的存档日志恢复
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=2
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=3
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=4
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=5
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=6
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=7
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=8
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=9
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=10
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=11
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=12
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=13
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=14
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=15
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=16
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=17
通道 ORA_DISK_1: 正在读取备份片段 /u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_11/o1_mf_annnn_TAG20111011T193522_798bhvwh_.bkp
通道 ORA_DISK_1: 已还原备份片段 1
段句柄 = /u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_11/o1_mf_annnn_TAG20111011T193522_798bhvwh_.bkp 标记 = TAG20111011T193522
通道 ORA_DISK_1: 还原完成, 用时: 00:00:23
通道 ORA_DISK_1: 正在启动到默认目标的存档日志恢复
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=18
通道 ORA_DISK_1: 正在读取备份片段 /u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_11/o1_mf_annnn_TAG20111011T193554_798bjv74_.bkp
通道 ORA_DISK_1: 已还原备份片段 1
段句柄 = /u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_11/o1_mf_annnn_TAG20111011T193554_798bjv74_.bkp 标记 = TAG20111011T193554
通道 ORA_DISK_1: 还原完成, 用时: 00:00:01
完成 restore 于 11-10月-11
恢复控制文件
SQL> conn /as sysdba
已连接。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> ! rm -rf /u01/app/oracle/oradata/orcl/*.ctl
[oracle@linux ~]$ rman target /
恢复管理器: Release 10.2.0.4.0 - Production on 星期三 10月 12 12:16:27 2011
Copyright (c) 1982, 2007, Oracle. All rights reserved.
已连接到目标数据库 (未启动)
RMAN> set DBID=1292118315;
--DBID在alert日志里面有,进入rman的时候可以看见,查询v$database也可以有。
正在执行命令: SET DBID
RMAN> startup nomount
Oracle 实例已启动
系统全局区域总计 167772160 字节
Fixed Size 1266392 字节
Variable Size 62917928 字节
Database Buffers 100663296 字节
Redo Buffers 2924544 字节
RMAN> restore controlfile from autobackup;
启动 restore 于 12-10月-11
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
恢复区目标: /u01/app/oracle/flash_recovery_area
用于搜索的数据库名 (或数据库的唯一名称): ORCL
通道 ORA_DISK_1: 在恢复区域中找到自动备份
通道 ORA_DISK_1: 已找到的自动备份: /u01/app/oracle/flash_recovery_area/ORCL/autobackup/2011_10_12/o1_mf_s_764338456_79b50rd0_.bkp
通道 ORA_DISK_1: 从自动备份复原控制文件已完成
输出文件名=/u01/app/oracle/oradata/orcl/control01.ctl
输出文件名=/u01/app/oracle/oradata/orcl/control02.ctl
输出文件名=/u01/app/oracle/oradata/orcl/control03.ctl
完成 restore 于 12-10月-11
RMAN> alter database mount;
数据库已装载
释放的通道: ORA_DISK_1
RMAN> recover database;
--在做恢复的过程中,数据库恢复多次往往就出些莫名其妙的错误,重新建库,重新操作一遍就又正常完成。
--可见在数据库恢复之后,重新建库导出、导入是有道理的。
启动 recover 于 12-10月-11
启动 implicit crosscheck backup 于 12-10月-11
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
已交叉检验的 12 对象
完成 implicit crosscheck backup 于 12-10月-11
启动 implicit crosscheck copy 于 12-10月-11
使用通道 ORA_DISK_1
完成 implicit crosscheck copy 于 12-10月-11
搜索恢复区中的所有文件
正在编制文件目录...
目录编制完毕
已列入目录的文件的列表
=======================
文件名: /u01/app/oracle/flash_recovery_area/ORCL/autobackup/2011_10_12/o1_mf_s_764338456_79b50rd0_.bkp
使用通道 ORA_DISK_1
正在开始介质的恢复
存档日志线程 1 序列 10 已作为文件 /u01/app/oracle/oradata/orcl/redo01.log 存在于磁盘上
存档日志文件名 =/u01/app/oracle/oradata/orcl/redo01.log 线程 =1 序列 =10
介质恢复完成, 用时: 00:00:03
完成 recover 于 12-10月-11
RMAN> alter database open resetlogs;
数据库已打开
恢复到指定目录
RMAN> restore controlfile to '/u01/app/oracle/control01.ctl' from autobackup;
启动 restore 于 11-10月-11
使用通道 ORA_DISK_1
恢复区目标: /u01/app/oracle/flash_recovery_area
用于搜索的数据库名 (或数据库的唯一名称): ORCL
通道 ORA_DISK_1: 在恢复区域中找到自动备份
通道 ORA_DISK_1: 已找到的自动备份: /u01/app/oracle/flash_recovery_area/ORCL/autobackup/2011_10_11/o1_mf_s_764280385_798db1tq_.bkp
通道 ORA_DISK_1: 从自动备份复原控制文件已完成
完成 restore 于 11-10月-11
恢复参数文件
RMAN> shutdown immediate
数据库已关闭
数据库已卸装
Oracle 实例已关闭
RMAN> host;
[oracle@linux ~]$ cd /u01/app/oracle/product/10.2.0/db_1/dbs/
[oracle@linux dbs]$ mv spfileorcl.ora spfileorcl.ora.bak
[oracle@linux dbs]$ rman target /
恢复管理器: Release 10.2.0.4.0 - Production on 星期三 10月 12 12:24:24 2011
Copyright (c) 1982, 2007, Oracle. All rights reserved.
已连接到目标数据库 (未启动)
RMAN> set DBID=1292118315;
--在rman里面没有初始化参数文件也可以nomunt数据库,是启动的rman默认的一个实例。
正在执行命令: SET DBID
RMAN> startup nomount;
启动失败: ORA-01078: failure in processing system parameters
LRM-00109: ???????????????? '/u01/app/oracle/product/10.2.0/db_1/dbs/initorcl.ora'
在没有参数文件的情况下启动 Oracle 实例以检索 spfile
Oracle 实例已启动
系统全局区域总计 159383552 字节
Fixed Size 1266344 字节
Variable Size 54529368 字节
Database Buffers 100663296 字节
Redo Buffers 2924544 字节
RMAN> restore spfile from autobackup;
--由于我手动的备份的spfile和controlfile,这里autobackup倒还找不到了,可见使用rman的时候参数文件和控制文件还是让它自动备份好拉。
启动 restore 于 12-10月-11
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=36 devtype=DISK
通道 ORA_DISK_1: 寻找以下日期的自动备份: 20111012
通道 ORA_DISK_1: 寻找以下日期的自动备份: 20111011
通道 ORA_DISK_1: 寻找以下日期的自动备份: 20111010
通道 ORA_DISK_1: 寻找以下日期的自动备份: 20111009
通道 ORA_DISK_1: 寻找以下日期的自动备份: 20111008
通道 ORA_DISK_1: 寻找以下日期的自动备份: 20111007
通道 ORA_DISK_1: 寻找以下日期的自动备份: 20111006
通道 ORA_DISK_1: 没有找到 7 天之内的自动备份
MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: restore 命令 (在 10/12/2011 12:26:10 上) 失败
RMAN-06172: 没有找到自动备份或指定的句柄不是有效副本或片段
RMAN> list backup of spfile;
MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: list 命令 (在 10/12/2011 12:26:47 上) 失败
ORA-01507: 未装载数据库
RMAN> restore spfile from '/u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_12/o1_mf_nnsnf_TAG20111012T121404_79b50dgv_.bkp';
--由于有很多个备份集,这里是一个一个试出来的。
启动 restore 于 12-10月-11
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 已找到的自动备份: /u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_12/o1_mf_nnsnf_TAG20111012T121404_79b50dgv_.bkp
通道 ORA_DISK_1: 从自动备份复原 SPFILE 已完成
完成 restore 于 12-10月-11
RMAN> alter database mount;
MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: alter db 命令 (在 10/12/2011 12:32:29 上) 失败
ORA-00205: 标识控制文件时出错, 有关详细信息, 请查看预警日志
RMAN> shutdown immediate
Oracle 实例已关闭
RMAN> startup
已连接到目标数据库 (未启动)
Oracle 实例已启动
数据库已装载
数据库已打开
系统全局区域总计 167772160 字节
Fixed Size 1266392 字节
Variable Size 62917928 字节
Database Buffers 100663296 字节
Redo Buffers 2924544 字节