如何用RMAN恢复一个DROP TRUNCATE DML误操作的表.doc

如何用RMAN恢复一个DROP TRUNCATE DML误操作的表.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何用RMAN恢复一个DROP TRUNCATE DML误操作的表

如何用RMAN恢复一个DROP TRUNCATE DML误操作的表 问题的提出 ??? 归档情形下的备份基本都是由RMAN 工作来完成,RMAN 工具可以非常方便的使DBA 完成数据库的BACKUP 、RESTORE 、RECOVERY 等工作。数据库处于归档方式,对于数据库物理损坏(数据文件坏,坏块等)的恢复是非常方便的。而如果你的一个库达到了一定级别,例如我们的营帐系统的一个营业库就有3TB ,这样一个级别的数据库去恢复一张误被TRUNCATER 小表,我们当然不能把3TB 的数据整库做不完全恢复,因为时间空间都不允许,那如何做呢?这可能是很多DBA 都有些迷惑的问题,或许你也看过相关的文档,估计写的都很粗略,本文以测试来说明一下这个问题。 2 恢复误操作的表可能有如下几种恢复方式 ??? 1、 有每天的EXP 的备份、或是阵列级的快照,而EXP 到出问题这段时间表所丢失的数据你可以通过一些途径弥补,此时可以IMP 回来完成恢复。现实中很多人采用的还是Rman 与Exp 关键表这样的组合方式。 ??? 2、 你有DSG 等这样软件做的备份,据说其做表级的恢复很方便,可以用其恢复。 ??? 3、 你有RMAN 的备份,恢复方式即为本文所谈的。 ??? 4、 顺便说一下容灾系统,不论是应用级容灾还是阵列所做的物理级的容灾都是不能完成表级误操作恢复的。 3 恢复的流程 3.1 大体流程 ??? 建立一个AUXILIARY 实例,对表所在的表空间或数据文件做不完全的恢复,然后把数据库EXP 出来IMP 到原库。对表所在的整个表空间的恢复适用于表空间不大的情况下,如果一个表空间300GB而你要恢复的表只有30M 的话,显然还是恢复表所在一个或几个数据文件方便。 ??? 需要说明的是,AUXILIARY 库必须包括SYSTEM 表空间、UNDO 表空间以及你误操作表的表空间。如果你的UNDO 表空间也比较大,且你有DUL 工具的话,UNDO 表空间也是不需要的。 3.2 注意事项 ??? 如果你的AUXILIARY 库与主库在一台机器,一定要小心操作,以免恢复中覆盖主库文件,使主库发生损坏。 ??? 3.3 模拟问题的产生 3.3.1 模拟环境的配置 系统环境为Solaris9+Oracle9.2.0.6 ,主库的SID 为orcl,归档方式 表空间: SQL select tablespace_name from dba_tablespaces; TABLESPACE_NAME ------------------------------ SYSTEM UNDOTBS1 TEMP EXAMPLE INDX TOOLS USERS 7 rows selected. 数据文件:? SQL select file_id,file_name,tablespace_name from dba_data_files; FILE_ID FILE_NAME TABLESPACE ---------- ---------------------------------------- ---------- 1 /yang/oradata/orcl/system01.dbf SYSTEM 2 /yang/oradata/orcl/undotbs01.dbf UNDOTBS1 3 /yang/oradata/orcl/example01.dbf EXAMPLE 4 /yang/oradata/orcl/indx01.dbf INDX 5 /yang/oradata/orcl/tools01.dbf TOOLS 6 /yang/oradata/orcl/users01.dbf USERS 7 /yang/oradata/orcl/users02.dbf USERS 7 rows selected. 日志文件: SQL select member from v$logfile; MEMBER ---------------------------------------- /yang/oradata/orcl/redo01.log /yang/oradata/orcl/redo02.log /yang/oradata/orcl/redo03.log ?3.3.2 备份一下数据库 $ rman cmdfile=b0 Recovery Manager: Release 9.2.0.6.0 - 64bit Production Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved. RMAN connect target / 2 connect

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档