RMAN的备份恢复时间线

T1-----------------T2-----------------T3

修改数据  恢复到T1之前 恢复到T2之前

1. 在恢复启动数据库,变为open状态时需要使用resetlogs参数,因为还原的数据文件与当前的联机日志不匹配,需要重新建立;

alter database open resetlogs;

2. 每次恢复会形成一个新的incarnation,我的理解就是一个新的数据库生命周期,或者SCN时间轴,因为恢复后的库还用原来的SCN(恢复到的历史点的SCN)继续进行,所以我认为两个incarnation的SCN是有可能重复的(网上没查到资料,只是个人推断):

对应上面的真实世界的时间轴,下面是SCN的轴:

                     ------------T1-------------------T2------------------T3---------

incarnation1 :-----SCN1-------------SCN2--

incarnation2 :                                       SCN1-----------------

incarnation3 :                                                                 SCN2-----------------

 

SCN例:       1 2 3 [4] 5 6 7 8 9 10 [11] 12

                                                                 [4] 5 6 7 8 9 10 11

                                                                                      [11] 12 13 14 15 16

基于以上如果要恢复到一个时间点/SCN(时间点不会重复?感觉好像不需要切?但实际得切),需要先切换到要恢复到的incarnation:

reset database to incarnation 1;

你可能感兴趣的:(DB,技术)