Sunday, May 3, 2009

Expdp fails with ORA-39001,ORA-39169,ORA-39006,ORA-39022

Problem Description
Connecting to local 10.2.01 database whenever I want to take data pump export into remote 11g database machine using NETWORK_LINK parameter data pump export fails with ORA-39001, ORA-39169 as below.
[oracle@localhost bin]$ ./expdp system/a NETWORK_LINK=maestro.net schemas=maximsg VERSION=10.2

Export: Release 10.2.0.1.0 - Production on Wednesday, 04 March, 2009 5:27:39

Copyright (c) 2003, 2005, Oracle. All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
ORA-39001: invalid argument value
ORA-39169: Local version of 10.2.0.1.0 cannot work with remote version of 11.1.0.6.0.

Similarly, connecting to local 10.1.0.* database whenever I want to take data pump export into remote 11g database machine using NETWORK_LINK parameter data pump export fails with
ORA-39006: internal error
ORA-39022: Database version 11.1.0.6.0 is not supported.

Doing expdp/impdp connected to a local 10.2.0.3 database fails with,

ORA-39127: unexpected error from call to export_string
:=SYS.DBMS_CUBE_EXP.schema_info_exp('ARJU',1,1,'11.01.00.00.00',newblock)
ORA-37118: The OLAP API library was not preloaded.
ORA-06512: at "SYS.DBMS_CUBE_EXP", line 205
ORA-06512: at "SYS.DBMS_CUBE_EXP", line 280
ORA-06512: at line 1
ORA-06512: at "SYS.DBMS_METADATA", line 5980
ORA-39125: Worker unexpected fatal error in KUPW$WORKER.UNLOAD_METADATA
while calling DBMS_METADATA.FETCH_XML_CLOB [TABLE_STATISTICS]
ORA-06502: PL/SQL: numeric or value error: invalid LOB locator specified:
ORA-22275
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 105
ORA-06512: at "SYS.KUPW$WORKER", line 6234

Doing expdp/impdp connecting to a local 10.2.0.4.0 database
...
ORA-39126: Worker unexpected fatal error in KUPW$WORKER.MAIN [INSERT
INTO sys.ku$_list_filter_temp@tiger SELECT process_order, duplicate,
object_name, base_process_order FROM "SYSTEM"."SYS_EXPORT_SCHEMA_01"
WHERE process_order = :1]
ORA-00947: not enough values
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPW$WORKER", line 6345

Cause of the Problem
The error occurred due to several oracle bugs. Whenever it is attempted to export data over a database link initiated from lower database compatibility level to a higher compatibility level it fails due to bug. That is if data pump export operation is started on a local 10.x database with NETWORK_LINK parameter and then the database link connects to a remote 11.x database then the Data Pump job may fail due to several defects.

As you see above, error messages displayed vary from version to version.

The errors ORA-39006 and ORA-39022 displayed if a Data Pump job with NETWORK_LINK is started on a local 10.1.x database and the database link connects to a remote 10.2.x or 11.x source database.

The errors ORA-39001 and ORA-39169 displayed if a Data Pump job with NETWORK_LINK is started on a local 10.2.0.1 or 10.2.0.2 database and the database link connects to a remote 11.x source database.

The errors ORA-39127 and ORA-37118 displayed if a Data Pump job with NETWORK_LINK is started on a local 10.2.0.3 database and the database link connects to a remote 11.x source database.

The errors ORA-39126 and ORA-00947 displayed if a Data Pump job with NETWORK_LINK is started on a local 10.2.0.4 database and the database link connects to a remote 11.x source database.

Note that compatibility settings of remote database is not an issue here.


Solution of the Problem
Solution 01:
- Do data pump export operation without NETWORK_LINK parameter.
- Transfer the data pump export file on the the other server.
Solution 02:
With usage of NETWORK_LINK parameter,
- Make sure that local connecting database is a 10.2.0.3.0 or higher release database.
- Explicitly use VERSION=10.2 while doing expdp operation.

Related Documents

No comments:

Post a Comment