App*_*rew 4 oracle oracle11g ora-00054
在过去的一段时间里,我注意到在数据库的大量并发更新期间,我们ORA-00054在尝试发布时遇到错误SELECT ... FOR UPDATE NOWAIT.这是我们的开发系统,我们真的没有任何其他用户,或者至少这是我们所相信的.
我们已经浏览了我们的应用程序的日志,似乎一切都井然有序; 没有线程试图更新同一行.
如何配置Oracle数据库以生成一个日志,让我知道发生此错误时持有锁的用户ID?
小智 7
从这里:ORA-00054:资源忙,并通过NOWAIT指定获取
您还可以查找sql,用户名,机器,端口信息,并进入保存连接的实际进程
SELECT O.OBJECT_NAME, S.SID, S.SERIAL#, P.SPID, S.PROGRAM,S.USERNAME,
S.MACHINE,S.PORT , S.LOGON_TIME,SQ.SQL_FULLTEXT
FROM V$LOCKED_OBJECT L, DBA_OBJECTS O, V$SESSION S,
V$PROCESS P, V$SQL SQ
WHERE L.OBJECT_ID = O.OBJECT_ID
AND L.SESSION_ID = S.SID AND S.PADDR = P.ADDR
AND S.SQL_ADDRESS = SQ.ADDRESS;
Run Code Online (Sandbox Code Playgroud)