我通过Oracle的命令行工具 IMP 导入 DMP 文件 结果出错。大意是说主健约束有问题。原文提示如下: 
正在将SCOTT的对象导入到 SCOTT 
“ALIER SESSION SET CURRENT——SCHEMA= “SCOTT”” 
“ALTER TABLE “EMP” ENABLE CONSTRAINT “FK_DEPTNO”” 
成功终止导入,但出现警告。 请问怎么解决? 还有怎样只导入一个名称空间里的数据而不是整个数据库?

解决方案 »

  1.   

    用exp owner=schemaname 
    导出的时候加上这个option试试。
      

  2.   

    那我先试试。
    还有就是能不能导入某个空间,比如项目用到的表都在 ABC 中,我怎么只将这里面的数据导入到数据库中,而不是整个数据库?
      

  3.   

    如出错的是SCOTT里的表的主键约束有问题。这个SCOTT就是我说的名称空间,也有叫架构的。我是指在导入导出时能不能只针对于它,而不是整个数据库。
      

  4.   

    SCOTT是oracle里的一个测试用户名吧,“owner=scott”就可以限定只导入或导出scott方案下的所有表的,和表空间不是一个概念。
      

  5.   

    看看详细的命令语法
    http://blog.csdn.net/zxf_feng/archive/2009/04/16/4083110.aspx
      

  6.   

    先导入, 再增加
    如:ALTER TABLE gosaleshr.RECRUITMENT ADD( 
    CONSTRAINT FK_RECRUI_123981 FOREIGN KEY
    (
    BRANCH_CODE
    ) REFERENCES gosales.BRANCH (
    BRANCH_CODE
    ));
      

  7.   

    备份某个用户模式下的所有对象。业务数据库通常采用这种备份方式。若备份到本地文件,使用如下命令:exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536feedback=100000 volsize=0file=exp_icdmain_yyyymmdd.dmplog=exp_icdmain_yyyymmdd.log若从本地文件恢复,使用如下命令:imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=ncommit=y buffer=65536 feedback=100000 ignore=n volsize=0file=exp_icdmain_csd_yyyymmdd.dmplog=imp_icdmain_csd_yyyymmdd.logtables=commoninformation,serviceinfo
      

  8.   


    exp help=y可以看到帮助文件。