一种可能的方法可能是将INIT.ORA
参数增加为distributed_lock_timeout
更大的值。这样一来,您将有更长的时间观察v$lock
表,因为锁将持续更长的时间。
要实现此目的的自动化,您可以
每5到10秒运行一次sql作业,该作业v$lock
将sandos上面给出的值或查询记录到表中,然后对其进行分析以查看哪个会话导致了锁定。
运行STATSPACK
或AWR
报表。被锁定的会话应该以较高的时间显示,因此可以被识别。
v$session``blocking_instance, blocking_session, blocking_session_status
可以将3列添加到上面的查询中,以了解被锁定的情况。