拿到了一个10GB大小的dmp导出文件,据同事说是用system用户导出的,里面有包含多个用户对象,其中还可能牵涉到其他表空间,我该怎么样导入这个文件呢,需要一个一个创建用户并赋权限吗?导入的时候分用户对象导入,还是一起导入?我尝试过新建一个个的用户,然后导入,但是有些用户需要使用别一个用户的对象做视图的创建,如果顺序不对的话,依然会有问题。
尝试过用full=y的方式导入,但是会报很多对象已存在的错误。望高手给个建议!谢谢

解决方案 »

  1.   

    imp 'system/oracle@myoracle' file=f:\full.dmp  full=y ignore=y,
    主要是报什么错误呢
      

  2.   

    采用full=y 加ignore=y 参数
      

  3.   

    1 将D:\daochu.dmp 中的数据导入 TEST数据库中。 
       imp system/manager@TEST  file=d:\daochu.dmp 
       imp aichannel/aichannel@HUST full=y  file=file= d:\data\newsmgnt.dmp ignore=y 
       上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。 
       在后面加上 ignore=y 就可以了。 
    2 将d:\daochu.dmp中的表table1 导入 
    imp system/manager@TEST  file=d:\daochu.dmp  tables=(table1) 基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。 注意: 
    操作者要有足够的权限,权限不够它会提示。 
    数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。 
      

  4.   

    imp 'system/oracle@myoracle' file=f:\full.dmp full=y ignore=y
    具体看日志报的什么错误
      

  5.   

    imp 'system/oracle@myoracle' file=f:\full.dmp full=y ignore=y,会报用户对象不存在,因为我刚拿到这个dmp的时候并不知道这个dmp中有哪些用户对象,实际上这个里面包含了10多个用户的对象!是否先要创建这些用户???
      

  6.   

    我不知道导出方案,full=y会不会覆盖一些系统空间文件?加哪些参数会比较好?谢谢