Thursday, June 13, 2019

ORA-02304: invalid object identifier literal

Dear All,

We have a requirement that client need to import one schema data (Our case XXEXT) to another newly created schema(in our case XXEXTNEW)

While importing, facing below error.

ORA-39083: Object type TYPE:"XXEXTNEW"."RULEDATAELEMENT" failed to create with error:

ORA-02304: invalid object identifier literal

Failing sql is:

CREATE EDITIONABLE TYPE "XXEXTNEW"."RULEDATAELEMENT"   OID '8299F41C5D6807A3E0531CFC6A0AFB72' AS OBJECT (name VARCHAR2(255), value VARCHAR2(255));

ORA-39083: Object type TYPE:"XXEXTNEW"."RULEDATA" failed to create with error:

ORA-02304: invalid object identifier literal

Failing sql is:

CREATE EDITIONABLE TYPE "XXEXTNEW"."RULEDATA"   OID '829A2D8D350019C4E0531CFC6A0A3062' AS TABLE OF ruleDataElement;

It is because Object ID(OID) Value of type (XXEXTNEW) should be unique in database. If we try to import TYPE with Same Object ID: It throws above error.

Check whether OID present or not in database. Our case, OID exists.

OID '8299F41C5D6807A3E0531CFC6A0AFB72'

Since OID already exists, we need to import TYPE with new OID. So we have to use TRANSFORM=oid:n parameter in impdp command.

Solution
++++++

impdp system/<pwd>  dumpfile=XXEXT.dmp directory=<directory_Name> logfile=XXEXTNEW_SCHEMA.log remap_schema=XXEXT:XXEXTNEW parallel=4 TRANSFORM=oid:n

Then Import successfully Completed.

Thanks
Sreeharsha.