English

Problem: Oracle deadlocks

Description

Oracle deadlocks occur when one or more sessions attempt to acquire a resource to a database object that is currently being held by a second session, which in turn is also attempting to acquire a resource held by the first session.

To break the deadlock, Oracle will release the resource being held by one session and return an error to allow the other session to proceed. In doing so a trace file for the offending session will be created in a directory based on the value for the user_dump_dest initialization parameter.

Cause

ArcGIS and ArcSDE should not, under any conditions, generate a deadlock situation. Due to an Oracle bug (numbers 1288563, 1181891, and 668836), ArcGIS applications might encounter the Oracle error ORR-04020:

"deadlock detected while trying to lock object <owner>.<table_name>"

Cause: While trying to lock a library object, a deadlock is detected.

Action: Retry the operation later.

This error can occur when a table contains a trigger and its schema is being modified followed by a DML statement.

The trace file that is created will contain the following text:

"*** 2001-11-06 12:14:11.458
*** SESSION ID:(8.76) 2001-11-06 12:14:11.408

A deadlock among DDL and parse locks is detected. This deadlock is usually due to user errors in the design of an application or from issuing a set of concurrent statements which can cause a deadlock. This should not be reported to Oracle Support.

Solution or Workaround

An ArcGIS example that may cause this error is building a geometric network. The error is harmless and the network will be successfully created.

Since the error is harmless to the application, it is safe to simply delete the files as they are created.

Related Information