ITPub博客

首页 > Linux操作系统 > Linux操作系统 > UNTIL SEQUENCE不完全恢复的误解

UNTIL SEQUENCE不完全恢复的误解

原创 Linux操作系统 作者:love2008 时间:2009-07-22 13:58:31 0 删除 编辑

 

这道题主要考的就是UNTIL SEQUENCE 230是否包含230这个日志文件,如果一般人看字面的话大概都该认为是包含的。我也是伴有怀疑的态度去做这个实验的,经过试验发现,是不包含的。以下是我的恢复试验。

【备份前】

 WANGZK>select * from t;

        ID
----------
         1
         2
         3
         4
         5
         6
         7
         8
         9
        10
        11

【备份】

RMAN> backup database format 'd:\rmandir\full_db_%I_%T_%u' plus archivelog format 'd:\rmandir\arch_%I_%T_%u' delete input;

【插入数据】

WANGZK>insert into t select rownum+11 from dual connect by rownum<=20;

已创建20行。

WANGZK>commit;

WANGZK>select sequence#,status from v$log;

 SEQUENCE# STATUS
---------- ----------------
        14 CURRENT
        12 INACTIVE
        13 INACTIVE

 

--可见插入数据的日志是在14号文件中

【切换归档后继续插入数据】

WANGZK>alter system switch logfile;

系统已更改。

WANGZK>select sequence#,status from v$log;

 SEQUENCE# STATUS
---------- ----------------
        14 ACTIVE
        15 CURRENT
        13 INACTIVE

WANGZK>insert into t select rownum+40 from dual connect by rownum<=30;

已创建30行。

WANGZK>commit;

提交完成。

WANGZK>alter system switch logfile;

系统已更改。

WANGZK>select sequence#,status from v$log;

 SEQUENCE# STATUS
---------- ----------------
        14 ACTIVE
        15 ACTIVE
        16 CURRENT

--可见后插入的数据的日志是记录在15号日志文件中。

【恢复】

RMAN> run {
2>     allocate channel dev1 type disk;
3>     allocate channel dev2 type disk;
4>     set until sequence 15;
5>     restore database;
6>     recover database;
7>     }
【启动并查看结果】

RMAN> alter database open resetlogs;

数据库已打开


WANGZK>select count(*) from t;

  COUNT(*)
----------
        31

WANGZK>

 

--可见最后插入的数据没有插入到T表中,也就是15号日志文件没有被应用。

 

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/728254/viewspace-609901/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-12-10

  • 博文量
    78
  • 访问量
    1113836