ORA-30926 while using impdp over a database link

ORA-30926 while using impdp over a database link

The other day I was doing an import using impdp in 12.1.0.2 , and got the following error ORA-30926: unable to get a stable set of rows in the source tables.

Starting "SYS_PYTHIAN"."SYS_IMPORT_TABLE_03": sys_pythian/******** parfile=table_import.par
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type TABLE_EXPORT/TABLE/COMMENT
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type TABLE_EXPORT/TABLE/STATISTICS/MARKER
ORA-39126: Worker unexpected fatal error in KUPW$WORKER.STATS_LOAD [MARKER]
MARKER
ORA-30926: unable to get a stable set of rows in the source tables
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 105
ORA-06512: at "SYS.KUPW$WORKER", line 11265
----- PL/SQL Call Stack -----
object line object
handle number name
0x12f199188 27116 package body SYS.KUPW$WORKER
0x12f199188 11286 package body SYS.KUPW$WORKER
0x12f199188 24286 package body SYS.KUPW$WORKER
0x12f199188 24415 package body SYS.KUPW$WORKER
0x12f199188 20692 package body SYS.KUPW$WORKER
0x12f199188 10206 package body SYS.KUPW$WORKER
0x12f199188 13381 package body SYS.KUPW$WORKER
0x12f199188 3173 package body SYS.KUPW$WORKER
0x12f199188 12035 package body SYS.KUPW$WORKER
0x12f199188 2081 package body SYS.KUPW$WORKER
0x12ffe7908 2 anonymous block
In STATS_UNLOAD
DBMS_STATS.EXPORT_STATS_FOR_DP
DBMS_STATS.EXPORT_STATS_FOR_DP
In STATS_LOAD with process_order 39
Fixing up the name in the impdp stat table
ORA-39126: Worker unexpected fatal error in KUPW$WORKER.STATS_LOAD [MARKER]
ORA-30926: unable to get a stable set of rows in the source tables
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPW$WORKER", line 11259
----- PL/SQL Call Stack -----
object line object
handle number name
0x6fc030c8 27116 package body SYS.KUPW$WORKER
0x6fc030c8 11286 package body SYS.KUPW$WORKER
0x6fc030c8 24286 package body SYS.KUPW$WORKER
0x6fc030c8 24415 package body SYS.KUPW$WORKER
0x6fc030c8 10105 package body SYS.KUPW$WORKER
0x6fc030c8 13381 package body SYS.KUPW$WORKER
0x6fc030c8 3173 package body SYS.KUPW$WORKER
0x6fc030c8 12035 package body SYS.KUPW$WORKER
0x6fc030c8 2081 package body SYS.KUPW$WORKER
0x134b42cf8 2 anonymous block
In STATS_UNLOAD
DBMS_STATS.EXPORT_STATS_FOR_DP
DBMS_STATS.EXPORT_STATS_FOR_DP
In STATS_LOAD with process_order 39
Fixing up the name in the impdp stat table
Job "SYS_PYTHIAN"."SYS_IMPORT_TABLE_03" stopped due to fatal error at Thu Jan 19 13:47:30 2017 elapsed 0 00:01:58

While investigating, I found that the source database had OLAP option removed and found a document 1353491.1 that I thought it could help that states that if the package DBMS_CUBE_EXP is present in SYS.EXPPKGACT$ and it does not exist it should be deleted, so I did that :

SQL> SELECT comp_id, status, SUBSTR(version,1,10) version, comp_name
FROM dba_registry ORDER BY 1;

COMP_ID STATUS VERSION COMP_NAME
------------------------------ ----------- ---------- --------------------------------------------

CATALOG VALID 12.1.0.2.0 Oracle Database Catalog Views

CATPROC VALID 12.1.0.2.0 Oracle Database Packages and Types

XDB VALID 12.1.0.2.0 Oracle XML Database

SQL> select *
FROM SYS.EXPPKGACT$
WHERE PACKAGE = 'DBMS_CUBE_EXP' AND SCHEMA= 'SYS';

PACKAGE SCHEMA CLASS LEVEL#

----------------- ---------- ---------- ----------
DBMS_CUBE_EXP SYS 4 1050

SQL> select PACKAGE, SCHEMA, class from exppkgact$ where (schema, package)
not in
(select owner, object_name
from dba_objects
where object_type='PACKAGE');

PACKAGE SCHEMA CLASS
-------------------------- ---------- ----------
DBMS_CUBE_EXP SYS 4

SQL> create table exppkgact$_bck as select * from exppkgact$;

Table created.

SQL> delete from exppkgact$ where package = 'DBMS_CUBE_EXP' and schema = 'SYS';

1 row deleted.

SQL> commit;

Commit complete.

But still got the same error,  so after doing more research, I found a workaround , to run the import without stats , once I did that, I was able to run the import successfully and as this was a development database I just ran stats on the table, but if you need to, you can then do a

[oracle@ ~ ]$ cat table_import.par
tables=TEST.TEST_TABLE
directory=export_dir_pythian
logfile=impdp.log
network_link=PYTHIAN
TABLE_EXISTS_ACTION=replace
EXCLUDE=STATISTICS
STATUS=120

[oracle@ ~ ]$ cat impdp.log
;;;
Import: Release 12.1.0.2.0 - Production on Thu Jan 19 13:49:57 2017

Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved.
;;;
Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Advanced Analytics and Real Application Testing options
Starting "SYS_PYTHIAN"."SYS_IMPORT_TABLE_04": sys_pythian/******** parfile=table_import.par
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type TABLE_EXPORT/TABLE/COMMENT
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
. . imported "TEST"."TEST_TABLE" 222224 rows
Job "SYS_PYTHIAN"."SYS_IMPORT_TABLE_04" successfully completed at Thu Jan 19 13:50:07 2017 elapsed 0 00:00:07

Conclusion

Hope this workaround helps you if you ever face this error while doing an impdp over a database link

Comments

comments

Rene Antunez
antunez.rene@gmail.com
No Comments

Leave a Reply