Skip to main content

Import Error - deadlock detected while trying to lock object TEST.CLIENT



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

Popular posts from this blog

CHANGING DBID FOR ORACLE DATABASE 11G

C:\Users\computer>sqlplus SQL*Plus: Release 11.1.0.7.0 - Production on Thu Sep 10 21:03:33 2013 Copyright (c) 1982, 2008, Oracle.  All rights reserved. Enter user-name: sys as sysdba Enter password: Connected to: Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> select dbid from v$database;       DBID ---------- 2188161033 SQL> exit Disconnected from Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options C:\Users\computer>nid DBNEWID: Release 11.1.0.7.0 - Production on Thu Sep 10 21:04:44 2013 Copyright (c) 1982, 2007, Oracle.  All rights reserved. Keyword     Description                    (Default) ---------------------------------------------------- TARGET ...

Difference between AWR, ADDM and ASH reports

AWR: Automatic Workload Repository gathers, processes and maintains performance stats used for problem detection and self-tuning the databases. Different Components that uses AWR are: Automatic Database Diagnostic Monitor Undo Advisor SQL Tuning Advisor Segment Advisor Different types of AWR Reports for different purposes: For Single Instance Environment: @$ORACLE_HOME/rdbms/admin/awrrpt.sql For Oracle RAC Environment : @$ORACLE_HOME/rdbms/admin/awrgrpt.sql For a particular SQL Statement : @$ORACLE_HOME/rdbms/admin/awrsqrpt.sql For Comparing the reports : @$ORACLE_HOME/rdbms/admin/awrddrpt.sql ADDM: Automatic Database Diagnostic Monitoring Report analyzes the AWR data on a regular basis, to give you overview of the root cause of the problem which is affecting your database’s performance. It also provides suggestions or recommendations for rectifying any problem identified and lists the areas which are having no issues. ADDM recommends multiple solutions for the DBA to choose from which...