因为之前用sql server较多,对oracle不熟悉,但是现在工作的原因必须将某公司原oracle数据库导入到sql server中来,服务器方提供了oracle的dmp导出文件,我这里安装了oracle10g,试了两个钟头没成功……
先是使用em页面,登陆orcl数据库,在“维护”中使用“从导出文件导入”,选择“10g之前的版本”,勾选了“覆盖现有数据文件”,“创建数据库对象时忽略对象创建错误”, “跳过设置为“索引不可用”状态的索引”。生成了一个即时作业进行进行导入,可是作业报告导入失败,在log日志中发现第一步“创建数据库文件”就失败,之后的一大堆操作全部失败。(log文件见http://www.gbabook.com/IMPORT.rar
然后我又手动创建了数据库,但是发现在http://机器名:1158/em中默认登陆就是orcl,没找到哪里可以选择登陆我刚才建立的数据库,登陆orcl后我在地址栏把数据库名字改掉,然后显示该数据库的状态是:状态暂挂,点击“管理”后显示登陆页面,提交后报错:Io 异常: Unknown host specified
在网上搜索了一下,在cmd命令行输入imp命令导入,根据提示操作,最后也是跟之前差不多的一大堆错误,我不知道该如何操作了,真是郁闷啊。前两天同事用我ID在这里发了一个求助贴,现在我在帮他弄,再次救助……

解决方案 »

  1.   

    dmp文件导入时什么错误,你知道导出时的用户名和密码吗?
      

  2.   

    1.是否有导入权限; 
    2.是否能够连接到导入的数据库; 
    3.你的Oracle客户端的版本是否高于服务器的版本: 
    4.将你要导入的那个库先清掉,然后再导。 
    最好把原來的表空間全部刪掉,然后再重新建表空間,然后再導入!
      

  3.   

    导入时不加权限,加个参数 full=y远程导不行,就到服务器本地去导
      

  4.   

    感谢大家的回复,现在是新建了一个数据库,并设为默认,除了无法删除的表空间其他都删掉了,可是导入数据还是报错:经由常规路径由 EXPORT:V10.02.01 创建的导出文件
    已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
    导出客户机使用 US7ASCII 字符集 (可能的字符集转换)
    导出服务器使用 UTF8 NCHAR 字符集 (可能的 ncharset 转换)
    . 正在将 SYSTEM 的对象导入到 SYSTEM
    IMP-00015: 由于对象已存在, 下列语句失败:
     "CREATE UNDO TABLESPACE "UNDOTBS1" BLOCKSIZE 8192 DATAFILE  '/data5/oracle/o"
     "radata/pana/undotbs01.dbf' SIZE 78643200       AUTOEXTEND ON NEXT 5242880  "
     "MAXSIZE 32767M EXTENT MANAGEMENT LOCAL "
      

  5.   

    imp 的时候有个忽略错误的现象,修改成Y
    试试.
      

  6.   

    最好是问提供dump文件给你们的人,否则再摸索一段时间。
    把imp的功能摸索一段就知道了。
    imp help=y 看看各个参数的说明。
      

  7.   

    我用oracle10g的时候导出数据怎么导都有问题,所以到现在都没有解决这个问题,正想看看大家的说法但是导入的话我也是试了好几次才导入成功的,我记得我后来把数据库删除的干干净净然后重新建数据库再导入就没问题了
      

  8.   

    最好把重新创建表空间,用oralce命令imp导入,不要远程导入,导出客户端和导入客户端oracle版本一致
      

  9.   

    低版本的备份可以向高版本导入。
    最好在从新装一下oracle10,或者改成11也可以试试。
      

  10.   


    你的dmp不会是全库导出吧
    为啥不用物理备份呢
    rman做恢复到异机
    或者克隆数据库
    既然用dmp做了
    那就google一下手工建立db
    会对你有所帮助