Oracle 表空间时间点恢复 (TSPITR)

来源:互联网 发布:天津港港口网络 编辑:程序博客网 时间:2024/04/29 16:41

表空间时间点恢复 (TSPITR):

概念:

通过执行 TSPITR 可将一个或多个表空间快速恢复到以前的某个时间。


执行 TSPITR 并不影响数据库中其它表空间或对象的状态。

术语:
目标时间:表空间恢复到的时间点或 SCN

恢复集:组成要恢复的表空间的数据文件

辅助集:对恢复集执行 TSPITR 时所必需的,但不属于恢复集的数据文件。
辅助集通常包括:
SYSTEM 表空间
还原段表空间
临时表空间

辅助目标:存储文件的磁盘位置

体系结构:
目标数据库:包含要恢复的表空间

控制文件:向 RMAN 提供备份信息

备份集:来自目标数据库,用作重建表空间的来源

归档重做日志:来自目标数据库,用作重建表空间的来源

辅助实例:在恢复过程中用来执行恢复的 Oracle DB 实例

RMAN 在执行表空间时间点恢复期间会执行下列步骤:
1.将目标时间之前某个时间点的备份控制文件还原到辅助实例。将恢复集的数据文件还原到目标数据库,将辅助集的数据文件还原到辅助实例。

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

3.将已恢复表空间中对象的字典元数据导出到目标数据库
4.在目标数据库上发出 SWITCH 命令,以使目标数据库控制文件指向辅助实例上已恢复的恢复集中的数据文件

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


何时使用 TSPITR:

TSPITR 可在下列情况下使用:
--恢复因错误的 TRUNCATE TABLE 语句而丢失的数据

--从表逻辑损坏中恢复
--
撤消只影响部分数据库的批作业或 DML 语句的结果
--
将逻辑方案恢复到与物理数据库其余部分不同的时间点


TSPITR 不能用来:

--恢复删除的表空间
--
将已重命名的表空间恢复到重命名之前的时间点

为 TSPITR 做准备:
确定正确的目标时间。

确定恢复集中需要的内容。

确定并保留执行 TSPITR 之后会丢失的对象。

1.确定正确的目标时间
除非使用了恢复目录,否则不能再次执行 TSPITR。

执行 TSPITR 并使表空间联机以后,就不能使用更早时间的备份。

请使用下列方法确定正确的目标时间:

--闪回查询
--
闪回事务处理查询

--闪回版本查询

2.确定恢复集的表空间
使用 TS_PITR_CHECK 视图来确定跨越恢复集边界的关系。

如果所恢复的表空间中的对象与其它表空间中的对象有关系,则可以:

--将包含相关对象的表空间添加到相应的恢复集中

--在执行 TSPITR 期间挂起该关系

--删除该关系


3.确定将丢失的对象
目标恢复时间之后在表空间中创建的对象会丢失。

查询 TS_PITR_OBJECTS_TO_BE_DROPPED,确定哪些对象在执行 TSPITR 之后会丢失。

在执行 TSPITR 前后分别使用导出和导入操作来保留和重新创建丢失的对象。


执行基本 RMAN TSPITR

1.完全自动执行的 TSPITR 
--指定辅助目标。
--RMAN 会管理 TSPITR 的所有方面。
--这是推荐的方法。

2.使用自动辅助实例的定制 TSPITR
--这是在完全自动执行 TSPITR 的基础上进行的。
--定制文件位置。
指定初始化参数。

--指定通道配置。


3.使用您自己辅助实例的 TSPITR
--配置并管理辅助实例。

 

执行完全自动执行的 TSPITR

1.配置在目标实例上执行 TSPITR 所需的通道。
2.使用 AUXILIARY DESTINATION 选项指定辅助目标。
RMAN> CONNECT TARGET

RMAN> RECOVER TABLESPACE users, example
  
    > UNTIL TIME '2007-06-29:08:00:00'
  
    > AUXILIARY DESTINATION 
   
    > '/u01/app/oracle/oradata/aux';

 

RMAN TSPITR 处理:
RMAN 执行下列步骤:

1.创建辅助实例,启动该实例,然后连接到该实例
2.使要恢复的表空间脱机
3.将目标时间之前某个时间点的备份控制文件还原到辅助实例
4.将恢复集和辅助集的数据文件还原到辅助实例

5.将已还原数据文件恢复到指定时间

6.通过 RESETLOGS 选项打开辅助数据库
7.将已恢复表空间中对象的字典元数据导出到目标数据库

8.关闭辅助实例

9.将辅助实例中的字典元数据导入目标实例
10.删除所有辅助集文件


使用 RMAN 管理的辅助实例执行 RMAN TSPITR

1.重命名或重定位恢复集数据文件。
2.为部分或全部辅助集数据文件指定不同于辅助目标的位置。

3.在执行 TSPITR 之前创建数据文件的映像副本备份。
4.对辅助实例使用不同的通道配置。

5.为 RMAN 管理的辅助实例指定不同的初始化参数。

 

使用自己的辅助实例执行 RMAN TSPITR
不推荐,但支持
请执行以下步骤:

1.创建辅助实例的 Oracle 口令文件。

2.创建辅助实例的初始化参数文件。
3.验证到辅助实例的 Oracle Net 连接。

4.在 NOMOUNT 模式下启动辅助实例。

5.将 RMAN 客户机连接到目标实例和辅助实例。
6.执行 RECOVER TABLESPACE 命令。

 

RMAN TSPITR 故障排除
1.文件名冲突:确保使用 SET NEWNAME、CONFIGURE AUXNAME 和 DB_FILE_NAME_CONVERT 时没有文件名冲突。
2.RMAN 无法确定包含还原段的表空间:使用 UNDO TABLESPACE 子句。

3.发生 TSPITR 故障后重新启动手动辅助实例:在 NOMOUNT 模式下关闭并重新启动。

 


1 0
原创粉丝点击