Showing posts with label DATAPUMP. Show all posts
Showing posts with label DATAPUMP. Show all posts

UDI-00018: Data Pump client is incompatible with database version 11.2.0.4.0

ERROR: UDI-00018: Data Pump client is incompatible with database version 11.2.0.4.0



Cause: The Import utility is at a higher version than the database version and is thereby incompatible.
Action: Use the same version of Import utility as the database.


[oracle@test_host dbdump]$impdp parfile=impdp_CAP_21122016.par
Import: Release 12.1.0.2.0 - Production on Wed Dec 21 11:36:44 2016
Copyright (c) 1982, 2015, Oracle and/or its affiliates.  All rights reserved.
UDI-00018: Data Pump client is incompatible with database version 11.2.0.4.0

Check which IMPDP utility is used

[oracle@test_host dbdump]$which impdp
/u01/app/oracle/product/12.1.0.2/dbhome_1/bin/impdp

Start the IMPDP from same database version
[oracle@test_host dbdump]$/u01/app/oracle/product/11.2.0/dbhome_1/bin/impdp parfile =impdp_CAP_21122016.par
Import: Release 11.2.0.4.0 - Production on Wed Dec 21 11:46:39 2016
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
Connected to: Oracle Database 11g Release 11.2.0.4.0 - 64bit Production
Master table "SYS"."SYS_IMPORT_SCHEMA_01" successfully loaded/unloaded
Starting "SYS"."SYS_IMPORT_SCHEMA_01":  /******** AS SYSDBA parfile=impdp_CAP_21122016.par
Processing object type SCHEMA_EXPORT/USER





Datapump export failed with ORA-01555 on table with LOB

ERROR: 
RA-31693: Table data object "OWNER."DOC_GRP_BLOB" failed to load/unload and is being skipped due to error:
ORA-02354: error in exporting/importing data
ORA-01555: snapshot too old: rollback segment number 11 with name "_SYSSMU11_583061684$" too small

Cause:


The LOB Retention is not defined properly.
This is confirmed by the queries:

SYS@xx> show parameter undo;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
SYS@xx> select retention, pctversion from dba_lobs table_name='DOC_GRP_BLOB';

no rows selected

The LOB Retention is not defined properly.
SYS@xx> alter system set undo_retention = 2400 scope = BOTH;

System altered.

SYS@xx> show parameter undo;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 2400
undo_tablespace string UNDOTBS1

SYS@xx> ALTER TABLE ITC_OAS.DOC_GRP_BLOB MODIFY LOB (DOC_BLOB) (PCTVERSION 10);
Table altered.
SYS@xx> ALTER TABLE itc_oas.DOC_GRP_BLOB MODIFY LOB (DOC_BLOB) (RETENTION);
Table altered.
SYS@xx> select retention, PCTVERSION from dba_lobs where table_name='DOC_GRP_BLOB';

RETENTION PCTVERSION
---------- ----------
10
2400




ORA-04063: package body "SYS.DBMS_DATAPUMP" has errors

ORA-04063: package body "SYS.DBMS_DATAPUMP" has errors

By running an import datapump with a 11.2.0.3 database I encountered the following error:

UDI-04063: operation generated ORACLE error 4063
ORA-04063: package body "SYS.DBMS_DATAPUMP" has errors
ORA-06508: PL / SQL: program unit of Appointee "SYS.DBMS_DATAPUMP" found
ORA-06512: a line 1


I tried to compile invalid objects, but always the same problem:

? SYS> @ / rdbms / admin / utlrp 

SYS> dbms_datapump alter package compile body;

Warning: package body changes with compilation errors.

SYS> show errors
Errors for DBMS_DATAPUMP PACKAGE BODY:

LINE / COL ERROR
-------- ---------------------------- -------------------------------------
4490/3 PL / SQL: Statement ignored
4490/3 PLS -00 306: number or types of arguments in erroneous call
'GET_STATUS_INT'


See the list of invalid objects:

select u.name owner, object_name o.name, o.status status
from SYS.USER $ u, $ o sys.obj
Where u.user # = # o.owner
and o.status! = 1
order by owner;

DBMS_DATAPUMP SYS 3
SYS _NEXT_OBJECT 0


Reload datapump therefore as follows:

? SYS> @ / rdbms / admin / dbmsdp.sql

This generates other invalid objects but SYS.DBMS_DATAPUMP is not in the list:

select u.name owner, o.name object_name, o.status status
from SYS.USER $ u, $ o sys.obj
where u.user # = # o.owner
and o.status! = 1
order by owner;

OWNER OBJECT_NAME STATUS
------------------------------ ----------------- ------------- ----------
SYS KUPC _Exit $ 5
SYS KUPC _SQL_FILE_JOB $ 5
SYS KUPC _ESTIMATE_JOB $ 5
SYS KUPC _LOAD_DATA $ 5
SYS KUPC _LOAD_METADATA $ 5
SYS KUPC $ 5 _UNLOAD_DATA
SYS KUPC _UNLOAD_METADATA $ 5
SYS KUPC _RELEASE_FILES $ 5
SYS KUPC _SEQUENTIAL_FILE $ 5
SYS KUPC _DISK_FILE $ 5
SYS KUPC _STOP_JOB $ 5
SYS KUPC _START_JOB $ 5
SYS KUPC _SET_PARAMETER $ 5

OWNER OBJECT_NAME STATUS
--------- --------------------- ----------------------------- - ----------
SYS KUPC _SET_PARALLEL $ 5
SYS KUPC _OPEN $ 5
SYS KUPC _METADATA_REMAP $ 5
SYS KUPC _METADATA_TRANSFORM $ 5
SYS KUPC _METADATA_FILTER $ 5
SYS KUPC _LOG_ERROR $ 5
SYS KUPC _LOG_ENTRY $ 5
SYS KUPC $ _DATA_REMAP 5
SYS KUPC _DATA_FILTER $ 5
SYS KUPC _RESTART $ 5
SYS KUPC _ADD_FILE $ 5

OWNER OBJECT_NAME STATUS
------------------------------ - ----------------------------- ----------
SYS KUPC _ADD_DEVICE $ 5
SYS KUPC _MESSAGE $ 5
SYS KUPCC 5
SYS _NEXT_OBJECT 0
SYS DBMS_CUBE_EXP 5
SYS DBMS_AW_EXP 5
SYS DBMS_CDC_EXPDP 5
SYS DBMS_CDC_DPUTIL 5
SYS DBMS_DST 5
SYS DBMS_DATA_MINING 5
SYS DBMS_DM_IMP_INTERNAL 5

OWNER OBJECT_NAME STATUS
--------------------- --------- ------------------------------ ----------
SYS DBMS_DM_EXP_INTERNAL 5
SYS DBMS_DM_MODEL_IMP 5
SYS DBMS_DM_MODEL_EXP 5
SYS DBMS_DM_EXP_INTERNAL 5
SYS DMP_SEC 5
SYS DBMS_SQLTCB_INTERNAL 5
SYS DBMS_FILE_GROUP_UTL_INVOK 5
SYS DBMS_STREAMS_TABLESPACE_ADM 5
SYS DBMS_STREAMS_TBS_INT_INVOK 5
SYS DBMS_STREAMS_TBS_INT 5
SYS DBMS_STREAMS_DATAPUMP_UTIL 5

OWNER OBJECT_NAME STATUS
--------------- --------------- ------------------------------ ----- -----
SYS DBMS_STREAMS_DATAPUMP 5
SYS DBMS_STREAMS_RPC 5
SYS DBMS_LOGREP_IMP 5
SYS DBMS_LOGREP_EXP 5
SYS DBMS_STREAMS_MT 5
SYS DBMS_REPCAT_EXP 5
SYS DBMS_WRR_INTERNAL 5
SYS DBMS_SWRF_INTERNAL 5
SYS LOGSTDBY_INTERNAL 5
SYS DBMS_RULE_EXP_UTL 5
SYS DBMS_TTS 5

OWNER OBJECT_NAME STATUS
--------- --------------------- ----------------------------- - ----------
SYS DBMS_PLUGTS 5
SYS KUPV FT_INT $ 5
SYS FT KUPV $ 5
SYS KUPD DATA_INT $ 5
SYS KUPD $ 5 DATA
SYS KUPP $ PROC 5
SYS Kupf $ 5 FILE
SYS Kupf FILE_INT $ 5
SYS KUPM $ 5 MCP
SYS KUPW $ 5 WORKER
SYS KUPC QUE_INT $ 5

OWNER OBJECT_NAME STATUS
------------------------------ --- ---------- ---------------------------
SYS KUPC QUEUE_INT $ 5
SYS DBMS_DATAPUMP 5
SYS DBMS_METADATA_UTIL 5
SYS DBMS_METADATA_INT 5
SYS DBMS_METADATA 5
SYS DBMS_SCHED_MAIN_EXPORT 5
SYS DBMS_STREAMS_TBS_INT_INVOK 5
SYS Kupf FILE_INT $ 5
SYS KUPC _WORKER_GET_PWD $ 5
SYS KUPC _WORKER_FILE_LIST $ 5
SYS KUPC _WORKER_EXIT $ 5

OWNER OBJECT_NAME STATUS
----------------- ------------- ------------------------------ ------- ---
SYS KUPC _WORKERERROR $ 5
SYS KUPC _WORKER_LOG_ENTRY $ 5
SYS KUPC _TABLE_DATA_ARRAY $ 5
SYS KUPC _BAD_FILE $ 5
SYS KUPC _DEVICE_IDENT $ 5
SYS KUPC _WORKER_FILE $ 5
SYS KUPC _GET_WORK $ 5
SYS KUPC _ENCRYPTED_PWD $ 5
SYS KUPC _FILE_LIST $ 5
SYS KUPC $ 5 _MASTERJOBINFO
SYS KUPC _MASTERERROR $ 5

OWNER OBJECT_NAME STATUS
------------------------------ --------- --------------------- ----------
SYS KUPC _API_ACK $ 5
SYS KUPC _POST_MT_INIT $ 5

Compile invalid objects:

SYS> @? / rdbms / admin / utlrp

After compilation:

select u.name owner, object_name o.name, o.status status
from SYS.USER $ u, $ o sys.obj
where u.user # = # o.owner
and o. status = 1!
order by owner;

SYS _NEXT_OBJECT 0