首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

oracle数据从一个表空间导入到除此以外一个表空间

2012-09-28 
oracle数据从一个表空间导入到另外一个表空间问题:在使用exp导出用户数据后,再使用imp导入时,必须保证两者

oracle数据从一个表空间导入到另外一个表空间

问题:在使用exp导出用户数据后,再使用imp导入时,必须保证两者对象的表空间一致才能成功导入

在此分享一点解决办法:

?

?

    exp导出用户数据:?exp userid=user/user owner=user file=user.dmp导出表DDL:打开pl/sql运行菜单:“工具”->“导出用户对象”功能,?选择所有的表,不选择存储,导出为文user_tables.sql创建表结构:使用目标用户登陆pl/sql后,执行:user_tables.sql删除约束SQL:

?

select 'drop index ' || owner || '.' || index_name || ' ;' from dba_indexes di where di.owner='USER' AND DI.TABLE_TYPE='TABLE' AND di.UNIQUENESS!='UNIQUE' order by di.table_name, di.index_name;-- 查询后,复制出来,执行后就可以禁止索引
?导入数据:?imp userid=other/other fromuser=user?touser=other??ignore=y?indexes=n constraints=n buffer=102400000 feedback=1000000?file=user.dmp重建约束(包括:主键、外键)和索引:运行users_tables.sql即可<--因为之前删除掉了原来的约束和索引 1 楼 skzr.org 2010-09-18   查询约束

select 'ALTER TABLE ' || OWNER || '.' || table_name || ' DISABLE CONSTRAINT ' || constraint_name || ';' from dba_constraints where owner not like ('%SYS%') 2 楼 skzr.org 2010-09-18   记得在imp和exp时加上合适的buffer 3 楼 skzr.org 2010-09-19   一个表6千多万数据,3个字段的联合主键;
在导入时出现时间过长的问题,经过确定发现是联合主键导致导入缓慢(如果导出和导入是同一个表空间时无此问题);后台看到导入实际上执行的是insert语句,所以解决办法:就是按照文章来删除约束和索引,导入数据后再重建即可

热点排行