使用Data Pump迁移表空间
必须满足的条件
1、两个数据库具有相同的字符集
2、不能是sys用户的对像或sys表空间
具体步骤如下﹕
1、检查表空间约束
SQL> execute sys.dbms_tts.transport_set_check('HA',true)
PL/SQL procedure successfully completed.
SQL> select * from sys.transport_set_violations;
VIOLATIONS
--------------------------------------------------------------------------------
Sys owned object ID in tablespace HA not allowed in pluggable set
上面的结果表明没有相关表空间约束
如果表空间之间存在约束﹐也要把相应的表空间迁移
2、生成要迁移表空集合
#确保其内容不会发生改变
SQL> alter tablespace ha read only;
Tablespace altered.
#expdp导出表空间
SQL>host expdp export/export directory=export dumpfile=ha_transport.dmp transport_tablespaces=ha;
3、传送数据文件和导出的文件到目的地
SQL>host cp /u02/oradata/yt01/ha01.dbf /u01/app/oracle/oradata/oak/ha01.dbf
SQL> host cp /u02/oradata/export/* /u02/oradata/dump
4、将表空间导入目标数据库
SQL>host impdp export/export directory=dump dumpfile=ha_transport.dmp transport_datafiles=/u01/app/oracle/oradata/oak/ha01.dbf
5、将表空间置为可read、write状态
SQL>alter tablespace test read write;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7419833/viewspace-332362/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7419833/viewspace-332362/