oracle10g导出的dmp文件,现在导入到9i时出错,不知道有没有办法导入

解决方案 »

  1.   

    导到10g的数据库里
    然后用9的客户端exp
    再imp
      

  2.   

    直接用10g的客户端,连接9i的服务器,进行倒入,因为IMP和DMP是工作在客户端的!
      

  3.   

    这是不能实现的
    低版本的数据库的导出DMP文件
    能够导入到高版本的数据库里,
    相反,高版本的数据库的导出的DMP文件
    却不能导入到低版本的数据库里
      

  4.   

    使用下面语句试试。 
    insert into table_name1 select....from语句
    或者使用create table as...select...from
      

  5.   

     exp imp 在不同版本的oracle数据库之间移动数据兼容性问题。
    因不同版本的oracle数据库具有不同的特性,一般高版本具有更多的新特性,消除了低版本一些过时的特性,这样在使用exp/imp工具时,存在数据库版本与exp/imp版本的兼容性问题,因此在不同版本的oracle数据库之间移动数据时,必须遵循以下兼容性规则:
    1.Import工具和目标数据库必须具有相同的版本。
    2.Export工具的版本必须等于或是早于源数据库或目标数据库的版本。
    也就是说,低版本数据库向高版本数据库传输数据,Export工具的版本等于源数据库的版本。高版本数据库向低版本数据库传输数据,Export工具的版本等于目标数据库的版本。即Export工具的版本等于或是低于版本较低的数据库的版本。需要注意的是从高版本向低版本传输数据,会丢失高版本支持的新特性。
    3. Expdp/impdp数据泵工具:
    3.1 Expdp/impdp数据泵工具是在oracle10g 10.1中提出.作为imp/exp工具的替代,它可以高速的在oracle数据库(oracle10g以后)之间传输数据。Expdp/impdp数据泵工具工作方法与Exp/imp导出/导入工具相比,数据传输方法做了很大的改进,传输速度大大提高了,而且它们的转储(dump file)文件的格式互不兼容,但是它们的使用方法很接近,详细情况可以参考oracle提供的文档。
    Expdp/impdp数据泵工具可以在数据库,表空间,模式和表级实现数据传输,可以满足各种不同数据传输的需求。但是在不同的oracle数据库版本之间移动数据,Expdp/impdp数据泵的方法比Exp/imp导出/导入更易于使用,Expdp/impdp数据泵的方法不需要考虑export工具的兼容性问题,可以使用任意版本的export工具,仅仅用参数version指定目标数据库的版本,该参数用来指明数据库对象的版本,创建一个与以前数据库版本兼容的转储文件集。
    例如:从oracle 10.0.0向当前数据库传输表employees的数据,进行报表处理:首先,创建一个与oracle 10.0.0版本兼容的转储文件集,选择VERSION=10.0.0。expdp hr/hr TABLES=hr.employees VERSION=10.0.0 DIRECTORY=dpump_dir1 DUMPFILE=emp.dmp NOLOGFILE=y接着,向当前数据库导入与oracle 10.0.0版本兼容的转储文件集,选择VERSION=LATEST。impdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=exp.dmp TABLES=employees  VERSION=LATEST3.2  Expdp/impdp在不同的数据库版本之间传输数据注意事项:1. .如果version指定的数据库版本早于当前数据库版本.那么当前数据库的一些特性不会出现在转储文件集中。
    2. 对于Expdp/impdp数据泵export.如果version指定的数据库版本早于当前数据库的版本,那么转储文件集只能导入那个旧的数据库中。
    3. Expdp/impdp数据泵Import总是能读旧版数据库创建的转储文件。
    4. Expdp/impdp数据泵import不能读高于当前数据库的版本创建的转储文件集,除非用version参数指定当前数据库的版本后创建转储文件集。总之,version参数总是与目标库的版本相同。