ITPub博客

首页 > 数据库 > Oracle > imp导入不同表空间问题

imp导入不同表空间问题

原创 Oracle 作者:e71hao 时间:2017-02-15 14:36:19 0 删除 编辑
问题描述:最近做数据迁移,由于导出端数据有限制,不能上到数据库所在库,只能用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博客 ” ,链接:https://blog.itpub.net/30393770/viewspace-2133573/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2015-08-05

  • 博文量
    133
  • 访问量
    235560