v$session有sid记录,但相应客户端上却没有该sid会话

在v$lock中可以看到sid=11的会话有未提交的事务,引发了锁堵塞,导致其他update语句无法执行。在v$session也可以找到sid=11的记录,同时也可查到该sid=11的会话是由machine=‘test'通过program='PLSqlDev.exe'的方式连接的,但是奇怪的,登录machine=‘test'的这个机器的时候,该机...显示全部

在v$lock中可以看到sid=11的会话有未提交的事务,引发了锁堵塞,导致其他update语句无法执行。

在v$session也可以找到sid=11的记录,同时也可查到该sid=11的会话是由machine=‘test'通过program='PLSqlDev.exe'的方式连接的,但是奇怪的,登录machine=‘test'的这个机器的时候,该机器上的PL Sql Develop根本不存在未提交的事务,而且通过v$mystat查看每个会话的sid,都找不到sid=11的会话。

目前只能通过执行'alter system kill session '11''的方式来释放该对话,但是找不到问题的原因。有没有什么办法可以追踪到这个问题的根本原因呢(例如定位到是网络问题还是程序假死问题等等),有没有什么监控方法来监控此类异常情况?

收起
参与22

查看其它 3 个回答lixichao的回答

lixichaolixichao其它石河子大学

关于这个,我也做过相应的测试.但是没有得到想要的结果.

测试的大致结果如下:

1.通过 plsql  dev 连接到 oracle 之后,执行一个长 select 语句,v$session可以监控到这个会话,并且会 active 的.但是 sql 执行完成之后, 会话的状态变为 inactive 了.在这里之前,我觉得都是正常的.也符合 oracle 的解释.   但是当我将 plsql dev 关闭之后,查询相应的会话,依然是存在的.

所以到这里,就感觉有点模糊了.

IT其它 · 2015-12-24
浏览1323
  • 所以 我更倾向于认为plsql Dev的问题,现在还没有发现其他客户端有这样的问题
    2015-12-25

回答者

lixichao
其它石河子大学
擅长领域: 数据库服务器AIX

lixichao 最近回答过的问题

回答状态

  • 发布时间:2015-12-24
  • 关注会员:5 人
  • 回答浏览:1323
  • X社区推广