测试传输表空间

传输表空间有几个限制条件:

1、源和目标数据库必须使用相同的字符集和国家字符集

2、目标数据库中不能已经包含同名的表空间

3、传输表空间不支持:物化视图或复制、基于函数的索引

4、被传输的表空间必须是自包含的

使用传输表空间的步骤:

1、验证是否是自包含的

SQL> exec sys.dbms_tts.transport_set_check(‘TESTDB’,true);

PL/SQL procedure successfully completed

SQL> select * from sys.transport_set_violations;

no rows selected

结果表示testdb表空间是自包含的。

2、将要传输的表空间置为read only

使用sysdba身份exp导出传输表空间的目录结构信息(元数据)。

在导出的时候可以指定是否导出触发器、完整性约束和权限。

E:> exp """/ as sysdba""" file=trans.dmp transport_tablespace=y tablespaces=testdb triggers=n constraints=y grants=y

3、将表空间的数据文件盒导出的元数据文件复制到目标数据库服务器上。

4、目标数据库服务器上需提前建好test用户(在源数据库上test用户的表空间为testdb

5、将源数据库表空间改为读写

SQL> alter database testdb read write;

6、在目标数据库中执行导入

E:>imp """/ as sysdba""" file=trans.dmp transport_tablespace=y datafiles='D:oracleproduct10.2.0oradataorcltestdb.dbf' tablespaces=testdb tts_owners=test

提示导入成功,导入后可以登录到test用户下查看原来的一些表数据是否正确。

expdpimpdp命令同样可以执行表空间的传输

导出命令:

C:dtpump>expdp """/ as sysdba""" directory=dpump_dir dumpfile=testdb.dmp transport_tablespaces=testdb

导入命令:

E:Documents and SettingsAdministrator>impdp """/ as sysdba""" directory=DATA_P

UMP_DIR dumpfile=testdb.dmp transport_datafiles='D:oracleproduct10.2.0oradat

aorcltestdb.dbf'

其他步骤可以参照expimp的方法。

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13444115/viewspace-1057470/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/13444115/viewspace-1057470/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值