当前位置: 代码迷 >> Oracle技术 >> impdp从linux网络导出导入数据库到window下全是异常. 求大神
  详细解决方案

impdp从linux网络导出导入数据库到window下全是异常. 求大神

热度:270   发布时间:2016-04-24 08:07:08.0
impdp从linux网络导出导入数据库到window下全是错误... 求大神

linux下给scott用户授予权限:
SQL> grant exp_full_database to scott; 
Grant succeeded.

window下 tnsname.ora

ORCL_LINUX =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.88)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )
C:\Users\Administrator>tnsping orcl_linux
TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 22-10月-2014 23:03:01
Copyright (c) 1997, 2010, Oracle.  All rights reserved.
已使用的参数文件:
D:\app\Administrator\product\11.2.0\dbhome_1\network\admin\sqlnet.ora
已使用 TNSNAMES 适配器来解析别名
尝试连接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.88)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))
OK (20 毫秒)
可以连接到linux下的数据库实例orcl
SQL> create database link win_to_linux connect to scott identified by tiger using 'orcl_linux';
数据库链接已创建。

执行impdp来导入数据
C:\Users\Administrator>impdp system/123456 network_link=win_to_linux remap_schema=scott:u1 schemas=scott

Import: Release 11.2.0.1.0 - Production on 星期三 10月 22 23:06:51 2014
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-39006: 内部错误
ORA-39113: 无法确定数据库版本
ORA-04052: 在查找远程对象 SYS.DBMS_UTILITY@WIN_TO_LINUX 时出错
ORA-00604: 递归 SQL 级别 3 出现错误
ORA-06544: PL/SQL: internal error, arguments: [55916], [], [], [], [], [], [], []
ORA-06553: PLS-801: internal error [55916]
ORA-02063: 紧接着 2 lines (起自 WIN_TO_LINUX)
ORA-39097: 数据泵作业出现意外的错误 -4052

我windows下 oracle数据库是10g  linxu下数据库是11g  是版本的问题么?  求大神指教

------解决思路----------------------
版本问题,11g数据导入10,高版本导入低版本肯定有问题的
------解决思路----------------------
--注意低版本是不能导入高版本 比如我的数据库是11gR2 对方是11gr1 需要指定版本号11.1.0.6.0 
expdp username/password directory=dump_test dumpfile=data.dmp  version=11.1.0.6.0 
------解决思路----------------------
版本问题,oracle有bug
Datapump import fails with the following errors when importing into an 11g database from a 10g export:

ORA-39006: internal error 
ORA-39113: Unable to determine database version 
ORA-04052: error occurred when looking up remote object SYS.DBMS_UTILITY@<tns alias>
ORA-00604: error occurred at recursive SQL level 3
ORA-06544: PL/SQL: internal error, arguments: [55916], [], [], [], [], [], [], [] 
ORA-06553: PLS-801: internal error [55916] 
ORA-02063: preceding 2 lines from <tns alias>
ORA-39097: Data Pump job encountered unexpected error -4052
ORA-39006: internal error 
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 79 
ORA-06512: at "SYS.DBMS_DATAPUMP", line 3444 
ORA-06512: at "SYS.DBMS_DATAPUMP", line 5233 
ORA-06512: at line 2
 

CAUSE

This is due to unpublished Bug 4511371 fixed in 11.1 and 10.2.0.2, where an interoperability issue occurs during remote PLSQL lookup of an object between 10g and 11g, as documented in Note:4511371.8.

SOLUTION

Apply the latest patchset to the 10g database, e.g.: 10.2.0.4 or 10.1.0.5.
------解决思路----------------------
引用:

VERSION               要导出的对象的版本, 其中有效关键字为:
                       (COMPATIBLE), LATEST 或任何有效的数据库版本。
                      仅对 NETWORK_LINK 和 SQLFILE 有效。
  相关解决方案