您的位置:首页 > 数据库 > Oracle

oracle12c新特性(8)--RMAN中的表恢复和分区恢复

2016-11-28 18:18 387 查看
 oracle12c新特性(8)--RMAN中的表恢复和分区恢复 

​ Oracle数据库备份主要分为两类:逻辑和物理备份。每种备份类型都有其自身的优缺点。在之前的版本中,利用现有物理备份来恢复表或分区是不可行的。为了恢复特定对象,逻辑备份是必需的。对于12c R1,你可以在发生drop或truncate的情况下从RMAN备份将一个特定的表或分区恢复到某个时间点或SCN。

  当通过RMAN发起一个表或分区恢复时,大概流程是这样的:

·         确定要恢复表或分区所需的备份集

·         在恢复表或分区的过程中,一个辅助数据库会临时设置为某个时间点

·         利用数据泵将所需表或分区导出到一个dumpfile

·         你可以从源数据库导入表或分区(可选)

·         在恢复过程中进行重命名操作

  以下是一个通过RMAN对表进行时间点恢复的示例(确保你已经对稍早的数据库进行了完整备份):

   RMAN> RECOVER TABLE username.tablename UNTIL TIME 'TIMESTAMP…'
   DATAPUMP DESTINATION '/u01/dpump'
   NOTABLEIMPORT -- this option avoids importing the table automatically.(此选项避免自动导入表)
<span color:#333333;"="" style="word-wrap: break-word; font-size: 9.5pt;">  REMAP TABLE 'username.tablename': 'username.new_table_name'; -- can rename table with this option.(此选项可以对表重命名)
  重要提示:

·         确保对于辅助数据库在/u01文件系统下有足够的可用空间,同时对数据泵文件也有同样保证

·         必须要存在一份完整的数据库备份,或者至少是要有SYSTEM相关的表空间备份

  以下是在RMAN中应用表或分区恢复的限制和约束:

·         SYS用户表或分区无法恢复

·         存储于SYSAUX和SYSTEM表空间下的表和分区无法恢复

·         当REMAP选项用来恢复的表包含NOT NULL约束时,恢复此表是不可行的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: