现在的位置: 首页 > 综合 > 正文

oracle 利用exp/imp做表空间转移

2013年12月14日 ⁄ 综合 ⁄ 共 654字 ⁄ 字号 评论关闭

 
将用户的表转移到其它的表空间
(1)按用户或其它方式exp导出所有的数据
EXP OWNER=user1 FILE=user1db.DMP
(2)如果在原实例更换表空间,先删除该用户的所有表。
select 'drop table '||user_tables||';' from user_tables; 生成删除表的语句 也可用enterprise manager删除所有表
(3)利用imp创建表结构脚本
IMP FULL=Y FILE=user1db.DMP INDEXFILE=user1.SQL
此步骤不导入数据,但将user1db.DMP中user1用户的表结构、索引等信息生成为user1.SQL。
去掉user1.SQL脚本程序中所有的注释和引号,然后将脚本中所有的表空间修改为指定转移的表空间。
(4)调用执行user1.SQL脚本程序。在新指定的表空间创建所有的表和索引等。
(5)导入数据。
IMP FULL=Y FILE=user1db.DMP IGNORE=Y
IMP FULL=Y INDEXES=N FILE=user1db.DMP IGNORE=Y 若出现索引导入问题,可用INDEXES=N不导入索引。
imp market/market@orawww160_55 FROMUSER=MARKETSYS INDEXES=N FILE=EXPDAT.DMP IGNORE=Y LOG=Imp1.LOG tables=(doctrack,newsinfo)

select 'drop table '|| TABLE_NAME ||';' from user_tables;

抱歉!评论已关闭.