watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

         题目         部分

在Oracle中,TSPITR(表空间基于时间点恢复)是什么?


     
         答案部分          


TSPITR(Tablespace Point-In-Time Recover,表空间基于时间点恢复)也称为小范围的不完全恢复,用于将一个或多个表空间恢复到过去某个时间点的状态,而其它表空间仍然保持现有状态。通过执行TSPITR可将一个或多个表空间快速恢复到以前的某个时间。执行TSPITR不会影响数据库中其它表空间或对象的状态。

下面的几个概念值得了解一下:

l DBPITR(Database Point-In-Time Recovery,数据库时间点恢复)表示将数据库的所有表空间恢复到过去时间点的状态。注意,DBPITR只适用于ARCHIVELOG模式。

l 主数据库(Primary Database)是指用于存放应用系统数据的数据库,也被称为产品数据库或目标数据库或Source Database。当执行TSPITR时,主数据库是指包含被恢复表空间的数据库。

l 恢复集(Recovery Set)是指在主数据库上需要执行TSPITR的表空间集合。注意,当在恢复集的表空间上执行TSPITR时,要求这些表空间必须是自包含的。

l 辅助数据库(Auxiliary Database)是主数据库的一个副本数据库。当执行TSPITR时,辅助数据库用于将恢复集表空间恢复到过去的某一个时间点。注意,辅助数据库的所有物理文件都是从主数据库备份中取得,并且辅助数据库必须包含SYSTEM表空间、Undo表空间以及恢复集表空间的备份文件。

l 辅助集(Auxiliary Set)是指辅助数据库所需要的、除了恢复集表空间文件之外的其它文件集合。当执行TSPITR时,辅助数据库除了需要恢复集表空间的备份文件之外,还需要控制文件备份、SYSTEM表空间的备份文件、Undo表空间的备份文件。

TSPITR可在下列情况下使用:

① 恢复因错误的TRUNCATE TABLE语句而丢失的数据。

② 从表逻辑损坏中恢复。

③ 撤消只影响部分数据库的批作业或DML语句的结果。

④ 将逻辑方案恢复到与物理数据库其余部分不同的时间点。

TSPITR使用可移动表空间和数据泵,提供了以下新功能和特性:

Ø TSPITR可用于恢复已删除的表空间。

Ø 可反复执行TSPITR恢复到表空间联机之前的多个时间点,而无需使用恢复目录。

在Oracle 11gR2之前,TSPITR使用导出和导入进行处理,而现在使用可移动表空间和数据泵。由于底层技术的这一变化,现在可使用TSPITR来恢复已删除的表空间。

RMAN在TSPITR时会执行下列步骤:

(1)将目标时间之前某个时间点的备份控制文件还原到辅助实例。将恢复集的数据文件还原到目标数据库,将辅助集的数据文件还原到辅助实例。

(2)将还原的数据文件恢复到指定的时间点。

(3)将已恢复表空间中对象的字典元数据导出到目标数据库。

(4)在目标数据库上发出SWITCH命令,以使目标数据库控制文件指向辅助实例上已恢复的恢复集中的数据文件。

(5)将辅助实例中的字典元数据导入目标实例,以便能访问已恢复对象。

执行TSPITR的命令格式为:

1RECOVER TABLESPACE TS_NAME UNTIL TIME '10/06/2016:22:42:00' AUXILIARY DESTINATION '/aux';
2RECOVER TABLESPACE TS_NAME UNTIL LOGSEQ 504 AUXILIARY DESTINATION '/aux';
3RECOVER TABLESPACE TS_NAME1, TS_NAME2 UNTIL LOGSEQ 1300 THREAD 1 AUXILIARY DESTINATION '/aux';
     


TSPITR的相关数据字典视图:

1SELECT * FROM SYS.TS_PITR_CHECK;--检查表空间是否是自包含
2SELECT * FROM SYS.TS_PITR_OBJECTS_TO_BE_DROPPED;--检查哪些对象执行TSPITR后将被删除
     


& 说明:

有关TSPITR的具体操作过程可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-1671741/


真题1、Which options must you configure while performing an automated Tablespace Point-in-Time Recovery(TSPITR) by using Recovery Manager(RMAN)?

A、New channels for restore and recovery tasks

B、New name for the data files of the tablespace

C、Auxiliary name for the data files of the tablespace

D、Auxiliary destinations for an auxiliary set of data files

答案:D。

题目中问的是为了使用恢复管理器(RMAN)执行自动表空间时间点恢复(TSPITR),必须配置哪些选项。

本题中,对于选项A,必须配置还原和恢复的任务,TSPITR不用配置这些。所以,选项A错误。

对于选项B,给表空间的数据文件设置新的名称,TSPITR也不用配置这个。所以,选项B错误。

对于选项C,给表空间的数据文件设置新的辅助名称,TSPITR也不用配置这个。所以,选项C错误。

对于选项D,给辅助集的数据文件设置辅助目的地,从TSPITR的命令格式可以看出,Auxiliary destinations对于TSPITR是必须的。所以,选项D正确。

所以,本题的答案为D。


真题2、Which of the following restrictions are not true with respect to tablespace point-in-time recovery?(Choose all that apply)

A、The target database must be in NOARCHIVELOG mode.

B、No backup is required of the database before you perform a TSPITR.

C、You must have all archived redo logs generated since the last backup up to the point to which you want to restore the transport set.

D、If you rename a tablespace,you can not perform a TSPITR to any point in time before that rename operation occurred.

E、If you have tables in tablespace_1 that have associated constraints in tablespace_2,then you must transport both tablespaces.

答案:A、B。

题目中问的是关于表空间时间点恢复,哪些是错误的,要求选出所有的错误选项。

本题中,对于选项A,选项说目标数据库必须在非归档模式,说法错误,事实上,目标数据库必须在归档模式。所以,选项A正确。

对于选项B,选项说当执行一个表空间时间点恢复之前,不需要数据库备份,说法错误,必须进行数据库的备份才可以进行TSPITR。所以,选项B正确。

对于选项C,选项说必须拥有从上次备份到需要恢复的时间之间的所有Redo日志,说法正确。所以,选项C错误。

对于选项D,选项说如果重命名一个表空间,那么就不能执行TSPITR到在重命名操作发生之前任何一点,说法正确。所以,选项D错误。

对于选项E,选项说如果有表在表空间1,而表空间1与表空间2有相关约束,那么必须传输两个表空间,说法正确,传输的表空间必须是自包含的表空间。所以,选项E错误。

所以,本题的答案为A、B。