在用Oracle数据导入导出imp/exp命令时的问题:
   在命令行输入下面的指令:
   exp system/asdf@orcl file=d:daochu.dmp full=y
   提示数据库导出成功!
   
   在命令行输入下面的指令:
   imp system/asdf@orcl full=y  file=d:daochu.dmp ignore=y 
   这个时候会提示很多错误:权限不足,表重名,违反唯一性等很多错误
   产生这些错误是因为我又重新直接导入了刚导出的那个.dmp文件吗?是因为重名数据库,表啊什么的重名导致的吗?
   现在想不让他出现这些错误,应该怎么办?可以把导出的那个daochu.dmp文件里的orcl属性改了吗?就是说重建个其他名字的库,可以吗?
   或者说是在imp指令里加个什么就可以改库的名字?
   请大家不吝指教!

解决方案 »

  1.   

    你目前的数据库已经存在数据,你还干嘛导入一遍啊
    再其他实例可以导入
    exp system/passwd@othersid file=d:daochu.dmp full=y 
      

  2.   

    先看下是错误还是警告,是警告可以不用理你全库导出的,再导入,必然后会重名啊
    可以选择导入导出某个用户的,指定fromuser和touser参数命令的具体使用格式可以在用help看:
    exp hely = y
    imp help = y
      

  3.   

    IMP-00003:遇到 ORACLE 错误 1031
    ORA-01031:权限不足
    IMP-00017:由于 ORACLE 错误 1031 ,以下语句失败:。
    出现过很多这个错误在最后一行是:成功终止导入,但出现警告。
    这是说向一个空数据库中导入这个daochu.dmp文件是肯定没问题的吗?现在就是想试试这两个指令在实际操作中会出现什么问题,我也知道导出后再直接导入肯定会遇到问题,但不知道怎么在导入时改变数据库的名字?
      

  4.   

    问题就出在你刚导出数据库,在导入 时删除掉原来的数据库就好了。
    在从建个orcl空库。再导入。
      

  5.   

    我居然忘了你是全库导出哦,全库导出,里面的内容好像是包含整个Oracle的所有数据的哦,就是说,所有数据库的东西,这样的话,导进去的确很麻烦哦,如果纯粹做实验的话,导入数据还是不要用全库的吧
      

  6.   

    如果项目中只是用到了一个表空间里的东西,那自然不必导出整个数据库了,但现在有的表是建在新建的KONG的数据库中,而有的表是建在了默认的表空间里,而且还挺多的,只导出一个表空间KONG自然是不可以的,所以就想到了导出整个数据库,以免有所丢失