日期:2014-05-16 浏览次数:20439 次
TSPITR(Tablespace Point-In-TIme Recovery)介绍
TSPITR(表空间时间点恢复)用于将一个或多个表空间恢复到过去某个时间点的状态,而其他表空间仍然保持现有状态。
(1) TSPITR(Tablespace Point-In-Time Recovery),只适用于ARCHIVELOG模式。
(2) TSPITR实现方法,建议使用RMAN实现表空间时间点恢复。
(3) DBPITR(Database Point-In-TIme Recovery),数据库时间点恢复;表示将数据库的所有表空间恢复到过去时间颠倒俄状态,只适用于ARCHIVELOG模式。
(4) 主数据库(Primary Database),用于存放应用系统数据的Oracle数据库。当执行TSPITR时,主数据库是指包含有被恢复表空间的数据库。
(5) 恢复集(Recovery Set),是指在主数据库上需要执行TSPITR的表空间集合。注意,当在恢复集的表空间上执行TSPITR时,要求这些表空间必须是自包含的.
(6) 辅助数据库(Auxiliary Database),是主数据库的一个副本数据库。当执行TSPITR时,辅助数据库用于将恢复集表空间恢复到过去时间点。注意,辅助数据库的所有物理文件都是从主数据库备份中取得,并且辅助数据库必须包含SYSTEM表空间、UNDO表空间、恢复集表空间的备份文件。
(7) 辅助集(Auxiliary Set),是指辅助数据库所需要的、除了恢复集表空间文件之外地饿其他文件集合。当执行TSPITR时,辅助数据库除了需要恢复表空间的备份文件之外,还需要备份控制文件、SYSTEM表空间的备份文件、UNDO表空间的备份文件。
注意:恢复集表空间必须为自包含,违反自包含表空间集合的常见情况如下:
1,表空间集合包含有SYS方案对象
2,表空间集合包含了索引所在的表空间,但没有包含索引基表所在的表空间
3,表空间集合没有包含分区表的所有分区
4,表空间集合包含了表所在的表空间,但没有包含其LOB列所在的表空间
下面是具体的实验步骤:
创建auxiliary destination
[oracle@even ~]$ mkdir /u01/tspitr
创建测试表空间tspitr_tbs
SQL> create tablespace tspitr_tbs datafile '/u01/app/oracle/oradata/test/tspitr_tbs01.dbf' size 10M;
Tablespace created.
测试表空间创建一个表
SQL> conn hr/hr
Connected.
SQL> create table tspitr tablespace tspitr_tbs as select * from dba_objects;
Table created.
SQL> select count(*)from tspitr;
COUNT(*)
----------
50324
确定要不完全恢复到的时间点:
SQL> select sysdate from dual;
SYSDATE
-------------------
2013-01-01 10:42:25
切换日志:
SQL> alter system switch logfile;
System altered.
SQL> alter system switch logfile;
System altered.
SQL> alter system switch logfile;
System altered.
SQL> alter system switch logfile;
System altered.
测试把tspitr表truncate掉
SQL> truncate table tspitr;
Table truncated.
数据记录为空了
SQL> select count(*)from tspitr;
COUNT(*)
----------
0
检查表空间是否为自我包含:
注意:只有自包含的表空间,才能基于单独不完全恢复。所谓自包含,是指该表空间中的对象不依赖于其它表空间中的对象,如该表空间中索引的基本在其它表
空间,该表中某些表的lob列放在其它表空间。
SQL> conn / as sysdba
Connected.
SQL> exec DBMS_TTS.TRANSPORT_SET_CHECK('tspitr_tbs',true,true);
PL/SQL procedure successfully completed.
SQL> SELECT * FROM TRANSPORT_SET_VIOLATIONS;
no rows selected
说明tspitr是自包含表空间。