使用imp导出在其它机器上用exp导出的数据时,发现有部分表导入了,有部分表没导入
单独指定未导入的表重新导入时,提示表空间不存在,后来重新建表空间,将表空间名字建成与导出机器上相同后,再进行全部导入时,可导入成功。
我想请教几个问题:
1、是否在使用imp导入数据的时候,新数据库里的表空间名称必须和原数据库相同?
2、如果相同,那为什么表空间名称不同时,有些表可以导入成功,而有些表不能成功?

解决方案 »

  1.   


     exp/imp 时的表空间必须和原表空间一致。 不知楼主是怎么导出与导入的。 
    参考:
    ORACLE 数据库逻辑备份 简单 EXP/IMP
    http://blog.csdn.net/tianlesoftware/archive/2009/10/23/4718366.aspxOracle 10g Data Pump Expdp/Impdp 详解
    http://blog.csdn.net/tianlesoftware/archive/2009/10/15/4674224.aspx
    ------------------------------------------------------------------------------ 
    Blog: http://blog.csdn.net/tianlesoftware 
    网上资源: http://tianlesoftware.download.csdn.net 
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx 
    DBA1 群:62697716(满); DBA2 群:62697977(满)
    DBA3 群:62697850   DBA 超级群:63306533;     
    聊天 群:40132017
    --加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请
      

  2.   

    1、是否在使用imp导入数据的时候,新数据库里的表空间名称必须和原数据库相同?
    --exp/imp 是这样要求的,expdp/impdp就可以在不同表空间转换了2、如果相同,那为什么表空间名称不同时,有些表可以导入成功,而有些表不能成功?
    --可能是有些表建在system或者是user...系统默认存在的表空间里
      

  3.   

    1、不需要。
    2、可能有部分表空间不同。
    可以指定full=y ignore=y参数
      

  4.   


    最好是有对应的表空间跟用户加个 ignore=y
      

  5.   

    一、数据导出(exp.exe)
    1、将数据库orcl完全导出,用户名system,密码accp,导出到d:\daochu.dmp文件中
    exp system/accp@orcl file=d:\daochu.dmp full=y2、将数据库orcl中system用户与sys用户的表导出
    exp system/accp@orcl file=d:\daochu.dmp  owner=(system,sys)3、将数据库orcl中的scott用户的表emp、dept导出
    exp scott/accp@orcl file= d:\daochu.dmp tables=(emp,dept)4、将数据库orcl中的表空间testSpace导出
    exp system/accp@orcl file=d:\daochu.dmp tablespaces=(testSpace)二、数据导入(imp.exe)
    1、将d:\daochu.dmp 中的数据导入 orcl数据库中。
    imp system/accp@orcl file=d:\daochu.dmp full=y2、如果导入时,数据表已经存在,将报错,对该表不会进行导入。加上ignore=y即可。
    imp scott/accp@orcl file=d:\daochu.dmp  full=y  ignore=y3、将d:\daochu.dmp中的表emp导入
    imp system/accp@orcl file=d:\daochu.dmp tables=(emp)
      

  6.   

    +1
    建用到的所有表空间,imp时带关键字 full=y 
      

  7.   

    grants=N include storage = N 大概是这样
      

  8.   

    表空间不相同也可以导入 我已经测试过了,
    imp aichannel/aichannel@HUST full=y  file=d:datanewsmgnt.dmp ignore=y 就行了