imp导入不同表空间问题

问题描述:最近做数据迁移,由于导出端数据有限制,不能上到数据库所在库,只能用imp导出。且需求是,导入到不同用户,不同表空间。
问题分析:imp提供了导入到不同用户参数,fromuser,touser,没有提供导入到不同表空间对应参数。网上百度,有如下一个方法,我尝试了下,有缺陷。
问题解决:
方法一:主要步骤是这样子的,指定要导入到的用户的默认表空间。缺点是,如果表table的列有clob类型,还是不能导入到新的指定表空间。
下面是从jive用户(默认表空间是user)到bjbbs用户(默认表空间是bjbbs)

SQL> create user bjbbs identified by passwd

  2  default tablespace bjbbs

  3  temporary tablespace temp

  4  /

User created.

SQL> grant connect,resource to bjbbs;

Grant succeeded.

SQL> grant dba to bjbbs;

Grant succeeded.

SQL>revoke unlimited tablespace from bjbbs;

Revoke succeeded.

SQL> alter user bjbbs quota 0 on users;

User altered.

SQL> alter user bjbbs quota unlimited on bjbbs;

User altered.


重新导入数据:

 imp bjbbs/passwd file=bj_bbs.dmp fromuser=jive touser=bjbbs grants=n

方法二:主要步骤是,先用Pl/sql等工具导出原来用户的所有表、视图、序列、存储过程定义。然后用imp中参数data_only=y,只导入数据。这样比较麻烦,但是可以导入clob数据

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

转载于:http://blog.itpub.net/30393770/viewspace-2133573/

你可能感兴趣的:(imp导入不同表空间问题)