oracle 经常出现锁表,请问原因以及解决方案
数据库连接池如下:
<property name="maxActive" value="20" />
<property name="maxWait" value="1000" />
<property name="removeAbandonedTimeout" value="60" />
<property name="removeAbandoned" value="true" />
<property name="logAbandoned" value="true" />
出现的现象:后台事务提交一直在等待,查看锁表sql未发现问题,语句如下:
SELECT A.USERNAME,
A.MACHINE,
A.PROGRAM,
A.SID,
A.SERIAL#,
A.STATUS,
C.PIECE,
C.SQL_TEXT
FROM V$SESSION A,
V$SQLTEXT C
WHERE A.SID IN (SELECT DISTINCT T2.SID
FROM V$LOCKED_OBJECT T1,
V$SESSION T2
WHERE T1.SESSION_ID = T2.SID)
AND A.SQL_ADDRESS = C.ADDRESS(+)
ORDER BY C.PIECE;
oracle 的监听日志未找到;频率大概三个小时左右;查询V$SESSION连接池大概70个连接左右,觉得不应该出现这个情况