There are number of problems with importing data with impdp depending on the content parameter setting during export.
According to few articles on Metalink this is mostly due to the fact, that during import there are created implicitly some structures and this creation failed.
Today I just hit something like this.
I exported some schemas with content=data_only.
When importing I hit:
ORA-39034: Table TABLE_DATA:"TEST"."SCHEDULER$_JOB_ARG" does not exist.
ORA-39126: Worker unexpected fatal error in KUPW$WORKER.UPATE_TD_ROW_IMP [62]
TABLE_DATA:"TEST"."SCHEDULER$_JOB_ARG"
ORA-31603: object "SCHEDULER$_JOB_ARG" of type TABLE not found in schema "TEST"
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 105
ORA-06512: at "SYS.KUPW$WORKER", line 8364
----- PL/SQL Call Stack -----
object line object
handle number name
0xb7f251c0 19208 package body SYS.KUPW$WORKER
0xb7f251c0 8385 package body SYS.KUPW$WORKER
0xb7f251c0 18770 package body SYS.KUPW$WORKER
0xb7f251c0 4226 package body SYS.KUPW$WORKER
0xb7f251c0 9082 package body SYS.KUPW$WORKER
0xb7f251c0 1688 package body SYS.KUPW$WORKER
0xb791dd40 2 anonymous block
To workaround this I assumed if I create this lacking table I'll be able to go further.
I run as sys
create table "TEST"."SCHEDULER$_JOB_ARG" as select * from SCHEDULER$_JOB_ARGUMENT where rownum<1 pre="">
and run import again.
One step forward.
I hit then:
ORA-39034: Table TABLE_DATA:"TEST"."SCHEDULER$_PROGRAM_ARG" does not exist.
ORA-39126: Worker unexpected fatal error in KUPW$WORKER.UPATE_TD_ROW_IMP [62]
TABLE_DATA:"TEST"."SCHEDULER$_PROGRAM_ARG"
ORA-31603: object "SCHEDULER$_PROGRAM_ARG" of type TABLE not found in schema "TEST"
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 105
ORA-06512: at "SYS.KUPW$WORKER", line 8364
----- PL/SQL Call Stack -----
object line object
handle number name
0xb7f251c0 19208 package body SYS.KUPW$WORKER
0xb7f251c0 8385 package body SYS.KUPW$WORKER
0xb7f251c0 18770 package body SYS.KUPW$WORKER
0xb7f251c0 4226 package body SYS.KUPW$WORKER
0xb7f251c0 9082 package body SYS.KUPW$WORKER
0xb7f251c0 1688 package body SYS.KUPW$WORKER
0xa9d3b2b8 2 anonymous block
Per analogiam I run:
create table "TEST"."SCHEDULER$_PROGRAM_ARG" as select * from SCHEDULER$_PROGRAM_ARGUMENT where rownum<1 pre="">
Next step forward.
Now I hit
ORA-39034: Table TABLE_DATA:"TEST2"."RE$ACTION_IMP_TAB" does not exist.
ORA-39126: Worker unexpected fatal error in KUPW$WORKER.UPATE_TD_ROW_IMP [62]
TABLE_DATA:"TEST2"."RE$ACTION_IMP_TAB"
ORA-31603: object "RE$ACTION_IMP_TAB" of type TABLE not found in schema "TEST2"
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 105
ORA-06512: at "SYS.KUPW$WORKER", line 8364
----- PL/SQL Call Stack -----
object line object
handle number name
0xb7f251c0 19208 package body SYS.KUPW$WORKER
0xb7f251c0 8385 package body SYS.KUPW$WORKER
0xb7f251c0 18770 package body SYS.KUPW$WORKER
0xb7f251c0 4226 package body SYS.KUPW$WORKER
0xb7f251c0 9082 package body SYS.KUPW$WORKER
0xb7f251c0 1688 package body SYS.KUPW$WORKER
0xb2aae570 2 anonymous block
Now I have no idea where I may find RE$ACTION_IMP_TAB structure, so I wished myself the structure is not important and it is enough to get the properly named object, so I simply created whatever.
create table "TEST2"."RE$ACTION_IMP_TAB" as select * from dual where rownum<1;
The load goes forward - I assume it should be ok. If I import jobs or chains, it would fail, but jobs or chains are a part of metadata, so problem solved.
Of course the best way is to dump with content=ALL (ie. default value), but sometimes one forgets or has no such choice - then the workaround would be useful.
And short update - the manually created objects have to be dropped manually as well.
1>
1>
1 comment:
Thanks!
After a lot of try and error, I could finally fixed by adding exclude clause in impdp command as follow:
impdp ... exclude=TABLE:\"IN \(\'SCHEDULER\$_PROGRAM_ARG\'\)\" schemas=schema1 directory=DMP_DIR dumpfile=file.dmp logfile=impdp.log
Post a Comment