技术开发 频道

RMAN高级应用Duplicate创建副本数据库实战


补充与附录:
一、跳过表空间(Skipping Tablespaces in RMAN DUPLICATE DATABASE)

    有时候,并非数据库的所有表空间都需要备份,比如你在创建副本数据库时,想跳过那些read-only或OFFLINE的表空间,这个简单,来来来,跟我一起做,左三圈右三圈脖子扭扭屁股扭扭,不是跳舞,是放松放松,你已经连续盯着屏幕这么久,而且都是看些蝌蚪儿字,要注意保护眼睛啊,黑黑~~~~

    要跳过只读表空间,在执行duplicate命令时指定SKIP READONLY子句即可。而对于离线表空间,在执行duplicate命令之前将其置为OFFLINE NORMAL状态即可,RMAN复制时会跳过只读或离线表空间的数据文件。如果某个表空间即不是readonly也并非offline,但你就是不想复制,表急,duplicate还有杀手锏。在执行duplicate命令时通过SKIP TABLESPACE XXX子句指定你要跳过的表空间,如果要跳过的表空间有多个,中间以,(逗号)分隔即可。

   当复制完成之后,通过查询副本数据库的v$datafile或DBA_DATA_FILES、DBA_TABLESPACES可以获取表空间以及数据文件的状态。

例如:   
SQL> select status,enabled,name from v$datafile; STATUS ENABLED NAME ------- ---------- -------------------------------------------------- SYSTEM READ WRITE F:\ORACLE\ORADATA\JSSDUP\SYSTEM01.DBF ONLINE READ WRITE F:\ORACLE\ORADATA\JSSDUP\UNDOTBS01.DBF ONLINE READ WRITE F:\ORACLE\ORADATA\JSSDUP\SYSAUX01.DBF ONLINE READ WRITE F:\ORACLE\ORADATA\JSSDUP\JSSWEB.DBF ONLINE READ WRITE F:\ORACLE\ORADATA\JSSDUP\USERS01.DBF

    对于readonly表空间,v$datafile中STATUS列会显示为OFFLINE,ENABLE列会显示为READ ONLY ,Name列会显示为MISSING xxx。
    对于offline表空间,v$datafile中STATUS列会显示为OFFLINE,ENABLE列会显示为DISABLED ,Name列会显示为MISSING xxx。

0
相关文章