环境:
os rhel 5.3
dbms 三节点 Oracle 10g rac
ver 10.2.0.4
现象:
某些工作站死机或网络异常后,特定的收费人员在ZLHIS中收费时,点击确定后,程序无响应.将会话kill后,重新登录ZLHIS,再次收费现象依旧.无论普通病人,还是医保病人都是同样现象.1-2小时后,ZLHIS自动恢复正常.
分析与解决过程:
1.分析会话的状态:
通过查询找出会话的等待事件:
SQL> select event,sid,serial# ,blocking_session from gv$session where username='YB040';
EVENT SID SERIAL# BLOCKING_SESSION
---------------------------------------------------------------- ---------- ---------- -------------
SQL*Net message from client 972 48797
SQL*Net message from client 1069 61575
SQL*Net message from client 1111 12404
enq: TX - row lock contention 1171 55482 1069
enq: TX - row lock contention 1113 42042 1069
可以看到是1069阻塞了1171与1113会话,等待事件为enq: TX - row lock contention,典型的tx行级锁,查看1069会话锁定的对象: