这道题主要考的就是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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/728254/viewspace-609901/