12c新特性:Recover Table
原创
©著作权归作者所有:来自51CTO博客作者maclean_007的原创作品,请联系作者获取转载授权,否则将追究法律责任
12c新特性:Recover Table
在版本12c之前单独恢复Oracle中某一张表,常规的方法是TSPITR或Flashback闪回。在版本12c中提供了Table Recovery单独恢复表的RMAN特性,该特性用以直接从RMAN backup中恢复table的方法,该特性的特点:
- 不影响数据库中的其他数据库对象
- 减少时间和磁盘空间的消耗,和早期的TSPIRT工作流程类似:
- 从另一个磁盘路径恢复表空间
- 导出想要的表数据
- 导入到原数据库
在何种场景下值得考虑使用该rman table recovery特性恢复单个表或分区的数据:
- 在下列场景中不建议使用TSPITR特性,但是建议用12c的table recovery特性:
- 在下列条件中不可能使用闪回,但是可以用12c的table recovery特性:
- purge掉的表,不再可能flashback drop
- 必要的undo已经被覆盖的情况,不再可能flashback table
- 经过一些结构化的DDL变更后,不再可能flashback table
Table Recovery的流程图:
Table Recovery可客制化的选项不多,主要有一下2点:
- 你可以指定NOTABLEIMPORT参数让RMAN不导入恢复的数据到目标库中
- 若指定REMAP TABLE或REMAP TABLESPACE参数,RMAN可选地重命名recovered表或表分区
oracle@localhost:~$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.0.2 Beta on Mon Dec 24 01:46:37 2012
Copyright (c) 1982, 2012, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.0.2 - 64bit Beta
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL> archive log list
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 31
Current log sequence 33
SQL>
SQL>
SQL>
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 626327552 bytes
Fixed Size 2263520 bytes
Variable Size 469763616 bytes
Database Buffers 150994944 bytes
Redo Buffers 3305472 bytes
Database mounted.
SQL>
SQL>
SQL>
SQL> alter database archivelog;
Database altered.
SQL> alter database open;
Database altered.