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 个回答royalwzy的回答

royalwzyroyalwzy技术经理海通证券股份有限公司

1.首先确认你的环境是不是RAC;

2.v$mystat是查看当前会话的统计信息的,里面是不会出现其它的会话的;

3.如果你想查看是什么语句造成的,可以用v$session和v$sql表关联来查看相应的sql;

ps:杀掉会话的语法应该是alter system kill session \'sid,serial\';

证券 · 2015-11-18
浏览1355
  • 1.首先确认你的环境是不是RAC; -->环境是win-64下的单实例11g 2.v$mystat是查看当前会话的统计信息的,里面是不会出现其它的会话的; -->是的,我在每个对话框里都查看过v$mystat,但都找不到sid=11的记录 3.如果你想查看是什么语句造成的,可以用v$session和v$sql表关联来查看相应的sql; -->没有办法关联,SQL_HASH_VALUE和SQL_ID列都为空,无法找到 ps:杀掉会话的语法应该是alter system kill session 'sid,serial'; -->感谢提醒~~~嘿嘿
    2015-11-18

回答者

royalwzy
技术经理海通证券股份有限公司
擅长领域: 数据库服务器存储

royalwzy 最近回答过的问题

回答状态

  • 发布时间:2015-11-18
  • 关注会员:5 人
  • 回答浏览:1355
  • X社区推广