自动执行TSPITR

自动执行TSPITR
使用RMAN执行TSPITR很简单--但是在此之前和之后要执行几个步骤以确保成功的操作。
1.验证表空间的依赖性
其他表空间中的对象可能会依赖于要恢复的表空间中的对象。TSPITR的规则指明要恢复的表空间必须是自包含

的,不依赖于不予恢复的其他表空间中的对象。例如,如果一个表含有索引,它们也必须予以恢复。可以使用

数据字典ts_pitr_check来确定任何依赖性,如下所示:它检查名为rmancat的表空间中的对象是否依赖其他表

空间中的任何对象以及其他表空间中的对象是否依赖rmancat表空间中的对象:
SQL> desc ts_pitr_check
 名称                                      是否为空? 类型
 ----------------------------------------- -------- -----------------

 OBJ1_OWNER                                         VARCHAR2(30)
 OBJ1_NAME                                          VARCHAR2(30)
 OBJ1_SUBNAME                                       VARCHAR2(30)
 OBJ1_TYPE                                          VARCHAR2(16)
 TS1_NAME                                           VARCHAR2(30)
 OBJ2_NAME                                          VARCHAR2(30)
 OBJ2_SUBNAME                                       VARCHAR2(30)
 OBJ2_TYPE                                          VARCHAR2(15)
 OBJ2_OWNER                                         VARCHAR2(30)
 TS2_NAME                                           VARCHAR2(30)
 CONSTRAINT_NAME                                    VARCHAR2(30)
 REASON                                             VARCHAR2(81)
SQL> select obj1_owner,obj1_name,ts1_name,obj2_owner,obj2_name,ts2_name from
  2  ts_pitr_check
  3  where
  4  ts1_name='RMANCAT' and ts2_name!='RMANCAT' or
  5  (ts1_name!='RMANCAT' and ts2_name='RMANCAT');

未选定行
该视图填充了定义为1对一关系的行,其中表空间ts1_name中的一个对象依赖于表空间ts2_name中的一个对象

。该视图还列出了不会包含在时间点恢复中的对象,如高级队列表,这在ts2_name列中通过值'-1'来指示.
   要解决发现的任何问题,可以临时删除依赖关系,或者将包含依赖对象的表空间添加到恢复集中。
2.执行TSPITR后后确定丢失的对象
   除了需要解决与要恢复的表空间的依赖问题之外,还需要确定恢复表空间后将要丢失的在目标时间之后创

建的任何对象。可以查看数据字典视图ts_pitr_objects_to_be_dropped来确定在目标恢复时间之后将要丢失

的对象。如下:
select owner,name,to_char(creation_time,'yyyy-mm-dd:hh24:mi:ss') create_time from
ts_pitr_objects_to_be_dropped
where
tablespace_name='RMANCAT'
and creation_time>to_date('2008-07-19:21:55:00','yyyy-mm-dd:hh24:mi:ss')
OWNER      NAME                           CREATE_TIME
---------- ------------------------------ -------------------
RMAN       CDF_U1                         2013-08-06:16:04:08
RMAN       CDF_I_DF_KEY                   2013-08-06:16:04:08
RMAN       CDF_I_FNAME_STATUS             2013-08-06:16:04:08
RMAN       BRL                            2013-08-06:16:04:08
RMAN       BRL_P                          2013-08-06:16:04:08
RMAN       BRL_U2                         2013-08-06:16:04:08
RMAN       BRL_I_BS_KEY                   2013-08-06:16:04:08
RMAN       BRL_I_DTS                      2013-08-06:16:04:08
RMAN       SCR                            2013-08-06:16:04:08
RMAN       SCR_P                          2013-08-06:16:04:08
RMAN       SCR_U1                         2013-08-06:16:04:08
为解决这些问题,可以在执行恢复操作前导出各个对象,然后在完成恢复后再次导入它们。
3.使用RMAN自动执行TSPITR
运行TSPITR最简单的方法是通过RMAN自动执行,尽管也可以手动执行。连接到目标数据库并执行如下的命令:
RMAN> recover tablespace rmancat until time '07-08-13 09:00:00'
2> auxiliary destination '/u01/app/oracle/oradata/auxdata';
此命令将使用存储区的指定辅助目标,在表空间rmancat上执行到指定时间的不完全恢复。表空间将会处于脱

机状态,因此为了完成此过程,需要将表空间联机。
如下:
在sql*plus:
SQL>alter tablespace rmancat online;
使用rman:
RMAN>sql 'alter tablespace rmancat online';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值