Reset database重新注册新的Incarnation之后,默认恢复时,即使我们指定了tag,也不会去使用之前incarnation的备份集。备份集总是对应一个特定的incarnation,无法在一个incarnation下恢复另一个incarnation下的备份集,但我们可以使用reset database to incarnation Inc,指定了incarnation后,就可以恢复那个incarnation下的备份集了。例如我们不完全恢复后,仍想使用老的备份集再进行恢复,就需要指定incarnation了。
举了例子,在reset database之后,没有进行新的备份,虽然list backup of controlfile有不少备份集,但却无法恢复:
RMAN> list incarnation;
数据库 Incarnations 列表
DB 关键字 Inc 关键字 DB 名 DB ID CUR 重置 SCN 重置时间
------- ------- -------- ---------------- --- ---------- ----------
1 2 SKY 2987191772 NO 1248567 19-7月 -08
1 37 SKY 2987191772 NO 1270013 16-10月-08
1 697 SKY 2987191772 NO 1442433 29-6月 -09
1 891 SKY 2987191772 YES 1443480 21-7月 -09
RMAN> run {
2> allocate channel ch00 type DISK;
3> allocate channel ch01 type DISK;
4> allocate channel ch02 type DISK;
5> restore controlfile from tag "DB_FULL_BACKUP";
6> release channel ch00;
7> release channel ch01;
8> release channel ch02;
9> }
分配的通道: ch00
通道 ch00: sid=11 devtype=DISK
分配的通道: ch01
通道 ch01: sid=12 devtype=DISK
分配的通道: ch02
通道 ch02: sid=13 devtype=DISK
启动 restore 于 21-7月 -09
释放的通道: ch00
释放的通道: ch01
释放的通道: ch02
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 07/21/2009 16:05:34
RMAN-06026: some targets not found - aborting restore
RMAN-06024: no backup or copy of the controlfile found to restore
|
此时可以使用reset database to incarnation Inc,恢复到之前备份集对应的incarnation:
RMAN> reset database to incarnation 697;
数据库重设为恢复目录中的原型 697
RMAN> run {
2> allocate channel ch00 type DISK;
3> allocate channel ch01 type DISK;
4> allocate channel ch02 type DISK;
5> restore controlfile from tag "DB_FULL_BACKUP";
6> release channel ch00;
7> release channel ch01;
8> release channel ch02;
9> }
分配的通道: ch00
通道 ch00: sid=11 devtype=DISK
分配的通道: ch01
通道 ch01: sid=12 devtype=DISK
分配的通道: ch02
通道 ch02: sid=13 devtype=DISK
启动 restore 于 21-7月 -09
通道 ch00: 正在开始恢复数据文件备份集
通道 ch00: 正在恢复控制文件
输出文件名=E:\CONTROL01.CTL
通道 ch00: 已恢复备份段 1
段 handle=D:\ORACLE_BAK\FULL_SKY_20090721_18_1 tag=DB_FULL_BACKUP
params=NULL
通道 ch00: 恢复完成
正在复制控制文件
输出文件名=E:\CONTROL01.CTL
输出文件名=E:\CONTROL02.CTL
输出文件名=E:\CONTROL03.CTL
完成 restore 于 21-7月 -09
释放的通道: ch00
释放的通道: ch01
释放的通道: ch02
RMAN>
|
|