The expdp and impdp utilities are command-line driven, but when starting them from the OS-prompt, one does not notice it. When you run impdp or expdp and use ‘ctrl-c’ and you want to kill, cancel, start or resume a job, you will end up in the datapump command prompt… now what?!
All command shown here can be used with expdp and impdp datapump. Continue reading
Update: Legacy Mode
In 11.2, Oracle introduced ‘legacy mode‘ options for expdp and impdp.
One now can use the old exp and imp parameters, including ‘CONSISTENT=Y’.
Legacy Mode Active due to the following parameters:
Legacy Mode Parameter: "consistent=TRUE" Location: Parameter File, Replaced with:
"flashback_time=TO_TIMESTAMP('2013-05-07 07:18:29', 'YYYY-MM-DD HH24:MI:SS')"
Legacy Mode has set reuse_dumpfiles=true parameter.
For 11.1 and older, original post:
Last few weeks I have been exporting 10g databases for migrating them to 11g. I knew Export Data Pump was read consistent (I have been running into ORA-01555‘s), but I was surprised to see a ORA-02298 (parent keys not found) when importing:
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
ORA-39083: Object type REF_CONSTRAINT failed to create with error:
ORA-02298: cannot validate (SCOTT.FK_SCALE_ID) - parent keys not found
Failing sql is:
ALTER TABLE "SCOTT"."SCALE_ID" ADD CONSTRAINT "FK_SCALE_ID" FOREIGN KEY ("SCALE_ID") REFERENCES "SCOTT"."SCALE" ("ID") ENABLE
I thought the expdp had made an consistent database dump, but didn’t! The FK’s present in SALARY were not present as PK’s in the SCALE table, so this could only mean the dump was not database consistent at all!
Solution: Using the flashback_time option