应该是锁表,连接不能释放,导致连接池用尽,无法openConnection,可以用下面的sql查出是否有锁等待:db2 update dbm cfg using DFT_MON_LOCK ON DFT_MON_STMT ondb2 update monitor switches using lock on sort on bufferpool on uow on table on statement ondb2 "select agent...
显示全部应该是锁表,连接不能释放,导致连接池用尽,无法openConnection,
可以用下面的sql查出是否有锁等待:
db2 update dbm cfg using DFT_MON_LOCK ON DFT_MON_STMT on
db2 update monitor switches using lock on sort on bufferpool on uow on table on statement on
db2 "select agent_id,substr(stmt_text,1,100) as statement,stmt_elapsed_time_ms from table(snapshot_statement('sample',-1)) as B where agent_id in( select agent_id_holding_lk from table(snapshot_lockwait('sample',-1)) as A order by lock_wait_start_time asc fetch first 20 rows only) order by stmt_elapsed_time_ms desc"
注意该语句查出的是持有锁,并且该锁导致其他sql等待的语句,不是正在等待的语句
试试看吧
收起