恢复归档日志(会恢复到归档日志所在目录,有初始化参数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 字节