Have received the below error while doing schema level refresh.
========================================================================
Processing object type SCHEMA_EXPORT/VIEW/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
ORA-39083: Object type REF_CONSTRAINT failed to create with error:
ORA-04020: deadlock detected while trying to lock object TEST.CLIENT
Failing sql is:
ALTER TABLE "TEST"."TRANSACTION" ADD CONSTRAINT "TRANSACTION_FK" FOREIGN KEY ("LAST_UPDATED_BY_CLIENT_ID") REFERENCES "TEST"."CLIENT" ("CLIENT_ID") ENABLE;
========================================================================
First check for locked objects in the database. using the below queries.
SQL> sqlplus / as sysdba
-------------------------------------------------------------------------
SQL> select * from v$locked_object;
no rows selected
-------------------------------------------------------------------------
SQL> column blocker format a25
SQL> column blockee format a25
SQL> column sid_serial format a10
SQL>
SQL> select
2 (select username || ' - ' || osuser from v$session where sid=a.sid) blocker,
3 a.sid || ', ' ||
4 (select serial# from v$session where sid=a.sid) sid_serial,
5 ' is blocking ',
6 (select username || ' - ' || osuser from v$session where sid=b.sid) blockee,
7 b.sid || ', ' ||
8 (select serial# from v$session where sid=b.sid) sid_serial
9 from v$lock a, v$lock b
10 where a.block = 1
11 and b.request > 0
12 and a.id1 = b.id1
13 and a.id2 = b.id2;
no rows selected
-------------------------------------------------------------------------
Then try to execute the failed Query connecting to the schema. like below
Connect to that schema & execute.
SQL> ALTER TABLE "TEST"."TRANSACTION" ADD CONSTRAINT "TRANSACTION_FK" FOREIGN KEY ("LAST_UPDATED_BY_CLIENT_ID") REFERENCES "TEST"."CLIENT" ("CLIENT_ID") ENABLE;
Table altered.
Comments
Post a Comment