12c跨平台传输表空间

从12c开始,跨平台传输表空间的方式有所不同,11g可见:http://blog.itpub.net/22621861/viewspace-1419810/

如果尾数字节相同,则可以传输整个数据库;如果尾数字节不同,则只能传输表空间。由于传输整库后还需要重建控制文件比较麻烦,一般选择传输表空间。
尾数字节的查询如下:

点击(此处)折叠或打开

  1. Select endian_format
  2. From v$transportable_platform tp, v$database d
  3. Where tp.platform_name=d.platform_name;

ENDIAN_FORMAT
--------------
Little

1. 源表空间设置为只读:

点击(此处)折叠或打开

  1. alter tablespace sh read only;
2. 假设计划传输的表空间在PDB中,则通过RMAN连接到PDB

点击(此处)折叠或打开

  1. backup for transport
  2. format '/u01/trans/linux_sourcedb_%U'
  3. datapump format '/u01/trans/linux_expdp.dmp'
  4. tablespace sh;
完成后,指定路径下生成了表空间和导出的元数据文件。将这两个文件传输到目的端文件系统。
这里要注意:如果是RAC环境下,要确保连接到了自己期望的节点,连错节点将尝试在错误节点上生成传输表空间和元数据dump;另外,确保库是open的。

3. 由于导入时不会自动创建相关用户,因此需要提前创建用户并赋予权限,否则导入会失败:

点击(此处)折叠或打开

  1. create user sh identified by sh;
  2. grant dba to sh;
4. 开始从RMAN导入目的库,这里也是一个PDB,在Windows 64-bit平台下:

点击(此处)折叠或打开

  1. restore from platform='Linux x86 64-bit'
  2. foreign tablespace sh
  3. format 'E:\ORADATA\EAST\B08200C9B49E4B509EA0F603F2E4FBBA\DATAFILE\SH01.DBF'
  4. from backupset
  5. 'E:\share\trans\linux_sourcedb_15r9f1kn_1_1'
  6. dump file datapump destination 'E:\share\trans'
  7. from backupset
  8. 'E:\share\trans\linux_expdp.dmp';
这里的from platform取值,可以查询

点击(此处)折叠或打开

  1. select platform_name from v$transportable_platform;

5 . 如有必要,设置相关用户的默认表空间。

点击(此处)折叠或打开

  1. alter user sh default tablespace sh;
6. 将表空间设置为在线,当前应该是read only;(包括源数据库的表空间)

点击(此处)折叠或打开

  1. alter tablespace sh read write;
全部完成。

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

转载于:http://blog.itpub.net/22621861/viewspace-2121284/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值