impdp报错:ORA-31693, ORA-02354, ORA-00600
Problem: Importing an Oracle 11g R2 Data Pump file containing an ArcSDE 10.x geodatabase encounters Oracle errors ORA-31693, ORA-02354, ORA-00600
Description
Importing an Oracle 11g R2 Data Pump export file containing a ArcSDE 10.x geodatabase fails with errors ORA-31693, ORA-02354, and ORA-00600.
The following example demonstrates using the Oracle Data Pump Import utility to import an Oracle export file containing just the SDE schema from a 10.x geodatabase.
The import fails and reports the following error message:
"Processing object type
TABLE_EXPORT/TABLE/TABLE_DATA
ORA-31693: Table data object "SDE"."GDB_ITEMS" failed to load/unload and is being skipped due to error:
ORA-02354: error in exporting/importing data
ORA-00600: internal error code, arguments: [kpudpxcs_ctxConvertStream_ref_1], [SYS_TYPEID("SHAPE")], [], [], [], [], [], [], [], [], [], []"
The same problem also occurs when attempting to import a schema containing data stored in ST_GEOMETRY.
The import fails and reports the following error message:
"Processing object type
TABLE_EXPORT/TABLE/TABLE_DATA
ORA-31693: Table data object "MAP"."PARCELS" failed to load/unload and is being skipped due to error:
ORA-02354: error in exporting/importing data
ORA-00600: internal error code, arguments: [kpudpxcs_ctxConvertStream_ref_1], [SYS_TYPEID("SHAPE")], [], [], [], [], [], [], [], [], [], []"
The following example demonstrates using the Oracle Data Pump Import utility to import an Oracle export file containing just the SDE schema from a 10.x geodatabase.
IMPDP system/system directory=IMPDP_DIR dumpfile=IMPDP_DIR:EXPDP_FULL.dmp schemas=SDE logfile=IMPDP_DIR:IMPDP_SDE.log job_name=IMPDP_SDE
The import fails and reports the following error message:
"Processing object type
TABLE_EXPORT/TABLE/TABLE_DATA
ORA-31693: Table data object "SDE"."GDB_ITEMS" failed to load/unload and is being skipped due to error:
ORA-02354: error in exporting/importing data
ORA-00600: internal error code, arguments: [kpudpxcs_ctxConvertStream_ref_1], [SYS_TYPEID("SHAPE")], [], [], [], [], [], [], [], [], [], []"
The same problem also occurs when attempting to import a schema containing data stored in ST_GEOMETRY.
IMPDP system/system directory=IMPDP_DIR dumpfile=IMPDP_DIR:EXPDP_FULL.dmp schemas=MAP logfile=IMPDP_DIR:IMPDP_MAP.log job_name=IMPDP_MAP
The import fails and reports the following error message:
"Processing object type
TABLE_EXPORT/TABLE/TABLE_DATA
ORA-31693: Table data object "MAP"."PARCELS" failed to load/unload and is being skipped due to error:
ORA-02354: error in exporting/importing data
ORA-00600: internal error code, arguments: [kpudpxcs_ctxConvertStream_ref_1], [SYS_TYPEID("SHAPE")], [], [], [], [], [], [], [], [], [], []"
Oracle 11.2.0.1.0 does not exhibit this behavior. Only versions 11.2.0.2.0 and 11.2.0.3.0 are affected.
Cause
This is a bug in Oracle:
Oracle Bug 14026888 - Datapump import gets ORA-600 [kpudpxcs_ctxConvertStream_ref_1] [ID 14026888.8].
Oracle Bug 14026888 - Datapump import gets ORA-600 [kpudpxcs_ctxConvertStream_ref_1] [ID 14026888.8].
Solution or Workaround
Download and apply Oracle Patch 16167942 prior to importing the dumpfile. Please contact Oracle Support to download and gather additional information about this patch.
These problematic views can be fixed by manually compiling them, or executing the SYS.UTL_RECOMP package against the schema containing these erroneous views:
Even with the Oracle patch applied, views are getting created with compilation errors upon import.
ORA-39082: Object type VIEW:"SDE"."GDB_ITEMS_VW" created with compilation warnings ORA-39082: Object type VIEW:"SDE"."GDB_ITEMRELATIONSHIPS_VW" created with compilation warnings
These problematic views can be fixed by manually compiling them, or executing the SYS.UTL_RECOMP package against the schema containing these erroneous views:
-------------------------------- -- Manually Compile the Views -- -------------------------------- SQL> ALTER VIEW SDE.GDB_ITEMS_VW COMPILE; View altered. SQL> ALTER VIEW SDE.GDB_ITEMRELATIONSHIPS_VW COMPILE; View altered. ---------------------------------------- -- Execute the SYS.UTL_RECOMP Package -- -- (run as the SYS User) -- ---------------------------------------- SQL> select object_name from dba_objects where status <> 'VALID' and owner = 'SDE'; OBJECT_NAME --------------------------------------- GDB_ITEMS_VW GDB_ITEMRELATIONSHIPS_VW 2 rows selected. SQL> EXEC SYS.UTL_RECOMP.RECOMP_SERIAL('SDE'); PL/SQL procedure successfully completed. SQL> select object_name from dba_objects where status <> 'VALID' and owner = 'SDE'; no rows selected