Welcome 微信登录

首页 / 数据库 / MySQL / Oracle 传输表空间迁移数据总结

Oracle 传输表空间迁移数据总结注意:迁移表空间之前必需先建立相对应的用户,要不然会迁移不成功的。有时,我们需要把比较大的数据进行跨平台(10G支持跨平台)的迁移,使用EXP/IMP等方法很慢,可以通过传输表空间快速安全的实现。此操作需要在SYSDBA的权限下进行,具体步骤如下:1.检查所要迁移的表空间是否自包含(就是检测是否符合传输表空间的基本条件)
 exec sys.dbms_tts.transport_set_check("tablespace_name",true);
 select * from sys.transport_set_violations;
 如果无记录返回,则说明符合传输表空间的条件,如果有记录返回则不符合。2.设置所要传输的表空间为只读
alter tablespace tablespace_name read only;3.使用exp工具导出所要传输表空间的元数据(metadata)
exp userid="sys/lclsys2008 as sysdba" file=/opt/test.dmp log=/opt/test.log transport_tablespace=y tablespaces=tablespace_name
注意:这里使用SYSDBA时需要转义字符,在LINUX下用",WINDOWS下使用单引号就可以4.使用RMAN转换所要传输的表空间的数据文件头为目标系统文件
 登陆RMAN: rman target /
 rman>convert tablespace "TABLESPACE_NAME" to platform "Linux IA (32-bit)" format "D:xxx.dbf"
 注意:TABLESPACE_NAME为传输表空间的名称,需要使用双引号且大写,Linux IA (32-bit)为目标平台的名称,可以在目标平台数据库中通过select platform_name form v$database来查询。5.复制表空间转换后的数据文件及导出文件到目标平台6.使用IMP工具加载数据库文件到目标平台 imp userid="sys/ad as sysdba" file=expdat.dmp transport_tablespace=y datafiles=("D:xx.dbf") tablespaces=tablespace_name
 注意:在使用IMP和EXP时尽量使用相同的版本,以避免操作失败。补充一点,在piner的书提到,就是seq,function,proc,view等元数据并没有迁移过来,需要再执行一次迁移。
就是执行一次exp ...  rows=n
再imp导入才行。
  • 1
  • 2
  • 3
  • 4
  • 下一页
Linux下安装 MySQL出现错误解决一例Oracle 创建索引的基本规则总结相关资讯      Oracle教程 
  • Oracle中纯数字的varchar2类型和  (07/29/2015 07:20:43)
  • Oracle教程:Oracle中查看DBLink密  (07/29/2015 07:16:55)
  • [Oracle] SQL*Loader 详细使用教程  (08/11/2013 21:30:36)
  • Oracle教程:Oracle中kill死锁进程  (07/29/2015 07:18:28)
  • Oracle教程:ORA-25153 临时表空间  (07/29/2015 07:13:37)
  • Oracle教程之管理安全和资源  (04/08/2013 11:39:32)
本文评论 查看全部评论 (0)
表情: 姓名: 字数