oracle 经常出现锁表,请问原因以及解决方案

数据库连接池如下:





出现的现象:后台事务提交一直在等待,查看锁表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个连接左右,觉得不应该出现这个情况

检查是否存在for update之类的sql语句

系统检查是因为 自动任务里存在长事务 一次修改了太多数据 事务执行过长 造成其他修改等待 从而造成死锁