Hi,
I am familiar with the causes around this lock related error, and how to identify the resource holding the lock on a particular object... in real time.
However, how could one determine the blocking resource session when investigating this error historically/retrospectively?
I came across this scenario today for a customer and ASH (I attempted to identify the object ID or blocking sessions), AWR, v$sql / v$sql_area, system event tracing captured only the details of the blocked session side i.e. the side who encountered the error. Maybe flashback query might be possible on some of the dba lock views?
The customer is attempting to perform a truncate on a batch table and I have advised them to try and set 'ddl_lock_timeout' for a few moments in order to increase their chances of obtaining an exlcuisve lock. But I am still curious as to whether anyone can suggest a way to examine the "cause or blocker" of a session hitting the 00054 error (When looking back historically at the event a few hours old)
Regards
Ruan