分类:
2010-03-29 19:05:07
--在实体5中对数据库进行全库备份
RMAN> backup database format='c:\bak\df_%d_%s_%p.bak';
启动 backup 于 26-3月 -08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=143 devtype=DISK
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
输入数据文件 fno=00002 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
输入数据文件 fno=00003 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
输入数据文件 fno=00004 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 26-3月 -08
通道 ORA_DISK_1: 已完成段 1 于 26-3月 -08
段句柄=C:\BAK\DF_ORCL_26_1.BAK 标记=TAG20080326T224202 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:16
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
在备份集中包含当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 26-3月 -08
通道 ORA_DISK_1: 已完成段 1 于 26-3月 -08
段句柄=C:\BAK\DF_ORCL_27_1.BAK 标记=TAG20080326T224202 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:04
完成 backup 于 26-3月 -08
--关闭数据库,将当前重做日志文件删除,模拟故障,造成resetlogs的恢复场景
RMAN> shutdown immediate
数据库已关闭
数据库已卸载
Oracle 实例已关闭
RMAN> startup mount
已连接到目标数据库 (未启动)
Oracle 实例已启动
数据库已装载
系统全局区域总计 314572800 字节
Fixed Size 1248768 字节
Variable Size 79692288 字节
Database Buffers 226492416 字节
Redo Buffers 7139328 字节
RMAN> alter database open resetlogs;
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: alter db 命令 (在 03/26/2008 22:50:16 上) 失败
ORA-01139: RESETLOGS 选项仅在不完全数据库恢复后有效
RMAN> recover database;
启动 recover 于 26-3月 -08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=157 devtype=DISK
正在开始介质的恢复
无法恢复介质
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: recover 命令 (在 03/26/2008 22:50:36 上) 失败
ORA-00283: recovery session canceled due to errors
RMAN-11003: 在分析/执行 语句期间失败: alter database recover if needed
start
ORA-00283: 恢复会话因错误而取消
ORA-19909: 数据文件 1 属于孤立的原型
ORA-01110: 数据文件 1: 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF'
--强制打开后,看到现在已经进入实体6
RMAN> alter database open resetlogs;
数据库已打开
RMAN> list incarnation;
数据库原型列表
DB 关键字 Inc 关键字 DB 名 DB ID STATUS 重置 SCN 重置时间
------- ------- -------- ---------------- --- ---------- ----------
1 1 ORCL 1176767170 PARENT 1 10-3月 -08
2 2 ORCL 1176767170 PARENT 472611 25-3月 -08
3 3 ORCL 1176767170 PARENT 474163 25-3月 -08
4 4 ORCL 1176767170 PARENT 488631 26-3月 -08
5 5 ORCL 1176767170 PARENT 490308 26-3月 -08
6 6 ORCL 1176767170 CURRENT 504418 26-3月 -08
--将数据库关闭,重新启动数据库到mount状态
RMAN> shutdown immediate
数据库已关闭
数据库已卸载
Oracle 实例已关闭
RMAN> startup mount
已连接到目标数据库 (未启动)
Oracle 实例已启动
数据库已装载
系统全局区域总计 314572800 字节
Fixed Size 1248768 字节
Variable Size 79692288 字节
Database Buffers 226492416 字节
Redo Buffers 7139328 字节
--实体5中有备份,现在需要将数据库恢复到实体5的数据中,首先重置实体
RMAN> reset database to incarnation 5;
将数据库重置为原型 5
--在重置实体后,restore和recover都会针对重置设置的实体进行,rman自动选择重置到的实体5所对应的备份进行恢复
RMAN> restore database;
启动 restore 于 26-3月 -08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=157 devtype=DISK
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
正将数据文件00002恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
正将数据文件00003恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
正将数据文件00004恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
通道 ORA_DISK_1: 正在读取备份段 C:\BAK\DF_ORCL_26_1.BAK
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = C:\BAK\DF_ORCL_26_1.BAK 标记 = TAG20080326T224202
通道 ORA_DISK_1: 恢复完成, 用时: 00:01:07
完成 restore 于 26-3月 -08
RMAN> recover database;
启动 recover 于 26-3月 -08
使用通道 ORA_DISK_1
正在开始介质的恢复
无法找到存档日志
存档日志线程 =1 序列=3
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: recover 命令 (在 03/26/2008 22:54:34 上) 失败
RMAN-06054: 介质恢复正请求未知的日志: 线程 1 seq 3 lowscn 504053
RMAN> list incarnation;
数据库原型列表
DB 关键字 Inc 关键字 DB 名 DB ID STATUS 重置 SCN 重置时间
------- ------- -------- ---------------- --- ---------- ----------
1 1 ORCL 1176767170 PARENT 1 10-3月 -08
2 2 ORCL 1176767170 PARENT 472611 25-3月 -08
3 3 ORCL 1176767170 PARENT 474163 25-3月 -08
4 4 ORCL 1176767170 PARENT 488631 26-3月 -08
5 5 ORCL 1176767170 CURRENT 490308 26-3月 -08
6 6 ORCL 1176767170 ORPHAN 504418 26-3月 -08
--在应用日志后,强制打开数据库,可以看到已经将实体5重置为新的实体7,但实体7的scn大于实体5的scn,但小于实体6的scn
RMAN> alter database open resetlogs;
数据库已打开
RMAN> list incarnation;