v$session_event中的SID与v$session不一致的BUG

Oracle 12.1.0.2+ Bug 33121934 排查:登录风暴触发 library cache lock 的 3 步根因定位法 本文深入解析Oracle 12.1.0.2+ Bug 33121934在高并发登录场景下触发的library cache lock问题。通过三层诊断框架(ASH历史分析、阻塞链追踪技术、MOS文档匹配),详细介绍了根因定位方法,并提供了临时解决方案与长期预防体系构建建议,帮助DBA有效应对类似性能瓶颈。 阅读详情
总述:Oracle 9.2.0.1在察看会话等待事件时显示错位。TOAD等工具也没有修正这一错误,会造成通过session browser察看会话时看到的等待事件及合计实际是其他会话的。
    问题的本质是Oracle 9.2.0.1的v$session_event视图中的SID与v$session中的SID相差了1。这一bug在9.2.0.3后修复。在没有升级的情况下可以使用如下语句察看会话的等待事件累计:
    select b.sid,
       decode(b.username, null, substr(b.program, 18), b.username) username,event,
       a.total_waits,
       a.total_timeouts,
       a.time_waited,
       a.average_wait,
       a.max_wait,
       a.time_waited_micro
    from v$session_event a, v$session b
    where b.sid = a.sid + 1
    order by b.sid, a.time_waited desc

原BUG说明如下:

Bug 号     2429929
已归档     24-JUN-2002     已更新     02-SEP-2003
产品     Oracle Server - Enterprise Edition     产品版本     9.2.0.1.0
平台     HP Tru64 UNIX     平台版本     5.1
数据库版本     9.2.0.1.0     影响平台     Generic
优先级     Severe Loss of Service     状态     Development to Q/A
基本 Bug     N/A     修复产品版本     10I
问题陈述:
SID VALUES IN V$SESSION AND V$SESSION_EVENTS DOES NOT MATCH
 
*** 06/24/02 04:17 am ***
TAR:
----
SMS-TAR DE:2428765.999
PROBLEM:
--------
The SID value in V$SESSION_EVENT is appearing to be one number less than in
V$SESSION
Example:
SQL> SELECT DISTINCT SID FROM V$SESSION;
SID
----------
1
2
3
4
5
6
7
8
9
10
13
32
12 rows selected
SQL> SELECT DISTINCT SID FROM V$SESSION_EVENT;
SID
----------
1
2
3
4
5
6
7
8
9
12 < < <
31 < < < SID's 12 & 31 doesn't exists in v$session
11 rows selected
DIAGNOSTIC ANALYSIS:
--------------------
v$fixed_view_definition shows there is no change in view definition for
gv$session_event in 9.2 as compared to earlier releases like 9.0.1 and 8.x
WORKAROUND:
-----------
None
RELATED BUGS:
-------------
None
REPRODUCIBILITY:
----------------
YES
TEST CASE:
----------
SQL> SELECT DISTINCT SID FROM V$SESSION;
SQL> SELECT DISTINCT SID FROM V$SESSION_EVENT;
compare both the output
STACK TRACE:
------------
None
SUPPORTING INFORMATION:
-----------------------
24 HOUR CONTACT INFORMATION FOR P1 BUGS:
----------------------------------------
DIAL-IN INFORMATION:
--------------------
IMPACT DATE:
------------
Cannot upgrade production db to 9.2 unless this is fixed, since all
performance
diagnostic tools are affected
*** 06/24/02 10:01 pm *** (CHG: Sta-&gt;16 Asg-&gt;NEW OWNER)
*** 06/24/02 11:26 pm ***
*** 06/24/02 11:47 pm ***
*** 06/24/02 11:48 pm ***
*** 06/24/02 11:49 pm *** (CHG: Sta-&gt;11 Asg-&gt;NEW OWNER)
*** 06/25/02 06:43 pm *** (CHG: Asg-&gt;NEW OWNER)
*** 06/25/02 06:43 pm ***
*** 07/19/02 02:57 pm *** (CHG: Asg-&gt;NEW OWNER)
*** 07/19/02 02:57 pm ***
SHould be looked at by the VOS owner first
*** 07/22/02 02:19 am *** (CHG: DevPri-&gt;2)
*** 07/23/02 07:19 am ***
*** 08/12/02 03:33 am ***
*** 08/19/02 02:41 am ***
*** 08/20/02 01:40 am ***
*** 08/21/02 02:20 am ***
*** 08/22/02 07:19 am *** (CHG: Sta-&gt;80)
*** 08/22/02 07:19 am *** (CHG: Confirmed Flag-&gt;Y)
*** 08/22/02 07:19 am *** (CHG: Fixed-&gt;10I)
*** 08/22/02 07:19 am ***
Rediscovery Information:
To be seeing this bug the following must be true :
1. You are on a release that is 9.2.0.1 or higher
2. V$SESSION_EVENTS will have a missing SID when compared to V$SESSION
3. The wait information is out of sequence. Session 2's waits will be
reported under session 1, session 3's waits under session 2 and so on
]] [G]V$SESSION_WAIT now returns the correct wait information for a specified
]] sessionid
*** 09/17/02 11:16 pm ***
*** 10/22/02 04:26 am ***
Backported to 9.2.0.1.99
*** 10/24/02 11:37 am ***
*** 10/25/02 07:00 am ***
*** 10/25/02 07:00 am ***
*** 11/05/02 08:00 am ***
*** 11/07/02 11:29 am ***
*** 11/13/02 07:21 am ***
Backported to 9.2.0.3
*** 11/20/02 02:14 pm ***
*** 11/22/02 05:36 am ***
*** 11/22/02 05:36 am ***
*** 11/26/02 07:20 am ***
*** 11/26/02 07:20 am ***
*** 11/27/02 09:14 am ***
*** 11/27/02 09:14 am ***
*** 01/17/03 05:39 am ***
*** 01/17/03 05:41 am ***
*** 02/26/03 11:41 am ***
*** 03/18/03 08:43 pm ***
*** 03/19/03 05:53 am ***
*** 03/28/03 12:37 pm ***
*** 03/28/03 01:26 pm ***
*** 03/28/03 05:29 pm ***
*** 04/28/03 08:20 pm ***
*** 04/28/03 08:22 pm ***
*** 07/18/03 10:14 am ***
*** 09/02/03 12:58 pm ***


Oracle网站对此问题给出了说明,并在9.2.0.3中修复:


文档 ID:     注释:208105.1
主题:     ALERT: SID Values in V$SESSION and V$SESSION_EVENT Do Not Match
类型:     ALERT
状态:     PUBLISHED
    
内容类型:     TEXT/PLAIN
创建日期:     22-AUG-2002
上次修订日期:     08-APR-2003
ALERT: SID Values in V$SESSION and V$SESSION_EVENT Do Not Match  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Versions Affected
~~~~~~~~~~~~~~~~~
This problem is introduced in Oracle Server 9.2.0.1 and is present in 9.2.0.2
An attempt is made here in this article to increase the visibility of
[BUG:2429929] which many customers are facing as they move on to Oracle9i
The fix to this bug is addressed in Oracle Server patchset 9.2.0.3 and above
Platforms Affected
~~~~~~~~~~~~~~~~~~
GENERIC
Description
~~~~~~~~~~~
The V$SESSION_EVENT and GV$SESSION_EVENT views in Oracle Server 9.2.0.1 and
9.2.0.2 will return misleading information as the SID column has incorrect
value (i.e., V$SESSION_EVENT.SID actually has value V$SESSION.SID - 1)
Hence, any joins between V$SESSION_EVENT and V$SESSION will return information
for the wrong session unless V$SESSION.SID - 1 is used in join predicate
This article is intended for customers who use Oracle's or third party
provided performance measurement and diagnostics Tools / Scripts / SQL's
This includes Oracle Enterprise Manager (OEM), UTLBSTAT-ESTAT, STATSPACK, etc
Likelihood of Occurrence
~~~~~~~~~~~~~~~~~~~~~~~~
Customers are very unlikely to be aware of this bug as there is no error
associated
Comparing the output for below two SQL's in Oracle Server 9.2.0.1 and 9.2.0.2
will reveal that the SID value in V$SESSION_EVENT is appearing to be one
number less than in V$SESSION
SQL> SELECT DISTINCT SID FROM V$SESSION
/
SQL> SELECT DISTINCT SID FROM V$SESSION_EVENT
/
Example:
SQL> SELECT DISTINCT SID FROM V$SESSION;
SID
----------
1
2
3
4
5
6
7
8
9
10
13
32
12 rows selected
SQL> SELECT DISTINCT SID FROM V$SESSION_EVENT;
SID
----------
1
2
3
4
5
6
7
8
9
12 <<<
31 <<< SID's 12 & 31 doesn't exists in v$session
11 rows selected
Possible Symptoms
~~~~~~~~~~~~~~~~~
Customers will receive conflicting results when performing a query like the one
below. This type of query is often run when trying to trace
sessions using a disproportionate amount of resources
Finding the SID/SERIAL# of a user showing a particular type of wait:
SELECT s.sid , s.serial#, s.status, s.server, s.username,
e.event, e.time_waited
FROM v$session_event e, v$session s
WHERE e.sid=s.sid
AND e.event like '&WAITEVENT_TO_CHECK'
AND e.time_waited > '&WAIT_TIME_THRESHOLD'
Workaround
~~~~~~~~~~
Use join predicate V$SESSION_EVENT.SID = V$SESSION.SID - 1 in SQL queries
Patches
~~~~~~~
Fix to this bug is addressed in Oracle Server patchset 9.2.0.3 and above
In order to ensure the highest level of support, Oracle strongly recommends
you to apply the latest patchset available for your platform
References
~~~~~~~~~~
[BUG:2429929] SID VALUES IN V$SESSION AND V$SESSION_EVENT DOES NOT MATCH
Rediscovery Information
~~~~~~~~~~~~~~~~~~~~~~~
To be seeing this bug the following must be true:
1. You are on a release that is 9.2.0.1 or 9.2.0.2
2. V$SESSION_EVENT will have a missing SID when compared to V$SESSION
3. The wait information is out of sequence. Session 2's waits will be
reported under session 1, session 3's waits under session 2 and so on.
FRM(Financial Risk Manager,金融风险管理师)知识点总结归纳 FRM知识点总结(150字) FRM考试分为两级:一级侧重基础理论和工具,包含风险管理基础、定量分析、金融市场产品、估值与风险建模四大模块,涵盖风险管理框架、统计学方法、衍生品定价及VaR计算等核心内容。二级聚焦实际应用,分为市场风险、信用风险、操作风险、流动性风险、投资管理和市场前沿六大模块,深入探讨高级风险度量技术(如极值理论)、信用风险模型、巴塞尔协议及新兴风险议题。考试体系贯穿"风险识别→度量→管理→监管"逻辑主线,强调定量分析与实务案例的结合,覆盖传统金融风险和区块链、ESG等 阅读详情

相关推荐

Information Fusion投稿避坑指南:从初稿到返修的完整流程解析(附模板下载)

本文详细解析了向Information Fusion投稿的全流程,从初稿准备到返修策略,涵盖了22个关键细节。特别强调了投稿前的隐形门槛、LaTeX模板的字体陷阱、图表规范要求以及返修回复的进阶技巧,帮助研究者避免常见错误,提升稿件接受率。附有实用模板下载,助力学术写作效率提升。

tgb34567890的博客 1420

V$session 表的妙用

 V$session 表的妙用v$session 表中比较常用的几个字段说明^_^1. sid,serial#通过sid我们可以查询与这个session相关的各种统计信息,处理信息.a. select * from v$sesstat where sid = :sid; 查询用户相关的各种统计信息. select a.sid,a.statistic#,b.name,a.valuefrom v$

ikikik2002的专栏 515

手把手教你用STM32CubeMX配置WS2812的PWM+DMA驱动(附完整代码)

本文详细介绍了如何使用STM32CubeMX配置PWM+DMA驱动WS2812全彩灯带,包括硬件选型、STM32F103C8T6的时钟配置、定时器与PWM设置、DMA传输优化等关键步骤,并提供了完整的代码实现和常见问题解决方案,帮助开发者高效控制WS2812灯带。

weixin_30859423的博客 440

Oracle V$SESSION详解

<br />V$SESSION是APPS用户下面对于SYS.V_$SESSION 视图的同义词。<br /> <br />在本视图中,每一个连接到数据库实例中的session都拥有一条记录。包括用户session及后台进程如DBWR,LGWR,arcchiver等等。<br /> <br /><br />V$SESSION中的常用列<br /> <br />V$SESSION是基础信息视图,用于找寻用户SID或SADDR。不过,它也有一些列会动态的变化,可用于检查用户。如例:<br />SQL_HASH_V

专注Oracle EBS---低调的奢华 5万+

微信小程序协同工作和发布

微信小程序协同工作和发布

qq_53114527的博客 1620

绕过卡巴斯基通过RPC控制lsass注入DLL

参考国外的XPN以及3gstudent大佬的文章: https://blog.youkuaiyun.com/xiangshen1990/article/details/104872566 https://gist.github.com/xpn/93f2b75bf086baf2c388b2ddd50fb5d0 原理:正常的ssp扩展(dll)可以加载到lsass进程中去,比如kerberos验证都是通...

2ed 3524

DBA成长随笔---Oracle 11g,性能优化之等待事件

简单了解Oracle 等待事件

qq_69462005的博客 1574

在Modelsim中手动添加仿真库

缘由:在使用rom ip核的时候发现仿真需要altera_mf库的支持,而我的ModelSim没有这个库,所以想写一篇手动添加仿真库的文章方便自己以后使用:首先新建一个库,名字叫做altera_mf:然后编译对应的库文件:这里altera_mf.v文件是在quartus安装路径下quartus\eda\sim_lib文件夹下,点击编译后退出:最后在modelsim->example文件夹下可以找到编译好的库文件:

欢迎一起交流问题! 3402

v$session,v$session_wait,v$session_event,v$system_event,v$event_name

v$event_name:不是动态的的视图,随数据库版本变化而变化  v$session_event:记录会话级的等待事件统计数据 v$system_event:记录实例级的会话数据 v$system_event是 v$session_event的集合   例如对 v$session_event和v$system_event统计方式测试: 查找关于TX锁的等待事件统计 当...

liuzhilong的博客 1160

【图像识别】基于计算机视觉实现红绿灯识别matlab代码

​ 1 简介 现如今,盲人出行依旧是一大问题.面对无处不在的红绿灯,盲人无法通过眼睛辨识红绿灯的状态,出行受阻.为了解决盲人识别红绿灯的难题,本文提出了一种基于MATLAB进行红绿灯识别的系统.对交通灯的识别主要基于对交通灯的色彩及形状特征.基于信号灯的亮度对其进行分割,提取,并设置了一种自动最优选择阈值的方法.再由HIS彩色空间的H信息识别颜色.最后根据二值化的交通灯的横坐标和纵坐标方向的投影进行形状匹配识别. 2 部分代码 clc clear all close all a=imread('m

qq_59747472的博客 2690

深入解析 OpenClaw(小龙虾)源码:架构设计与核心实现

OpenClaw用清晰、工程化的代码结构,将复杂的Agent交互流程变成了可管理、可扩展的流水线。无论是想深入了解Agent系统设计,还是希望二次开发定制自己的AI助理,阅读OpenClaw源码都是一次绝佳的学习旅程。希望本文能帮助你快速掌握OpenClaw的核心脉络。如果你对某个模块(如技能开发、安全机制)感兴趣,欢迎继续探讨。本文基于OpenClaw社区版本源码分析,具体实现可能随版本迭代有所调整,请以最新源码为准。

Ven%的博客 449

v$session - 你看到的event真的是session当前的等待事件么?

转自 https://blogs.oracle.com/database4cn/vsession-%E4%BD%A0%E7%9C%8B%E5%88%B0%E7%9A%84event%E7%9C%9F%E7%9A%84%E6%98%AFsession%E5%BD%93%E5%89%8D%E7%9A%84%E7%AD%89%E5%BE%85%E4%BA%8B%E4%BB%B6%E4%B9%88-v2

逝鸿的博客 1005

PGM-Explainer实验总结

PGM-Explainer建立了一个概率图模型,为GNN提供实例级解释。 论文标题:PGM-Explainer: Probabilistic Graphical Model Explanations for Graph Neural Networks 论文地址:2010.05788.pdf (arxiv.org) PGM-Explainer实验 实验目的 研究PGM-Explainer的有效性 实验方案 合成数据集的节点分类 与其他解释器做对比实验 使用六个合成数据集。 每个输入图都是一个

笔记|思路|总结 1万+

V$SESSION_EVENT – Oracle Wait Interface Memo

&#13; v$session_event 记载了当前连接到数据库的所有会话的统计信息,从名字上也可以看出来,这是个会话级(Session Level)的动态视图。 继续以 Oracle Wait Interface: A Practical Guide to Performance Diagnostics &amp; Tuning 这本书为参考,分析 OWI 。先看看v$...

Fenng's Blog 216

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

ORACLE数据库无法查询到V$SESSION的BLOCKSESSION列问题的分析

摘要:Oracle数据库V$SESSION视图在业务高峰期出现BLOCKSESSION列数据不全的问题,影响事务锁查询。分析确认是版本BUG导致,重启可临时恢复但问题会周期性重现。建议解决方案:1)安装补丁(需长时间停机);2)改用V$LOCK或GV$ACTIVE_SESSION_HISTORY视图替代查询,文档提供了完整的替代查询语句。该问题表现为系统运行约半月后重现,建议优先采用无需停机的视图替代方案。

还不算晕的专栏 510

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

v$session_event- Oracle Wait Interface Memo查看当前会话所有信息(转:http://www.dbanotes.net/archives/2004/12/vsession_event.html)

 v$session_event 记载了当前连接到数据库的所有会话的统计信息,从名字上也可以看出来,这是个会话级(Session Level)的动态视图。继续以 Oracle Wait Interface: A Practical Guide to Performance Diagnostics & Tuning 这本书为参考,分析 OWI 。先看看v$session_event

tianyacao007的专栏 1566

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

V$Session_wait or V$Session 总结

同样适用于10g的V$Session视图

沉淀 2317

用 logoff trigger 保留每个 session 的性能信息(转)

OWI -- 用 logoff trigger 保留每个 session 的性能信息如果某个开发人员跟你说他的程序最近跑得很慢,你问他做了什么修改,他说没有。你说能不能跑给你看一下,他说程序只在每天凌晨跑。这时候收集每个sess...

congnen9588的博客 188

Determine the Blocking Session for Event: 'cursor: pin S wait on X' [ID 786507.1]【每日一译】--20121107

In this Document   Goal   Solution   References 在这篇文档里包含 目标 解决 相关资料 Applies to: Oracle Server - Enterprise Edition - Version: 10.2.0.1 to 11.2.0.3 - Release: 10.2 to 11.2 Oracle Server - S

N 776

遭遇Bug 5918642

老外发来邮件: ------------------------------------------------------------------------------- Hi Robinson, I need help – on adw1u – user adwgu_intrc, pass –xxxxx select * from INTRC_RPT_BENCH_VW where...

ruilinruirui 127

oracle job enq tx,oracle 等待事件 enq TX - row lock contention

产生原因:第一种情况:当两个会话对同一行进行更新时,ORACLE为了保证数据库的一致性,加了一个TX锁,这时另一个或多个会话必须等待第一个会话commit或rollback,否则会一等待下去,这是最为常见的一种模式!第二种情况:两个或多个会话向具有唯一主健索引的表中插入或更新相同的数据行,既然是唯一主健索引,那么先获得插入的session以TX排它锁模式进行添加,此时其它session只能等待,也...

weixin_36339157的博客 238

rmanBUG一例 (备份时卡住不动)

问题和解决办法来源说明: 该文档其实原创作者为renfengjun ,最初是在论坛上看到该问题,我自己也遇到了这个情况,上网一搜,正好遇到,上MOS上找到了相关凭据,在到renfengjun兄弟的博客上查找,发现没有该主题的技术文章,所以我干脆记录下来了,整理成文,以备查询。 renfengjun兄弟的博客:  http://blog.youkuaiyun.com/renfengjun #####

Lurou's Home 8185

oracle logoff,用 logoff trigger 保留每个 session 的性能信息

如果某个开发人员跟你说他的程序最近跑得很慢,你问他做了什么修改,他说没有。你说能不能跑给你看一下,他说程序只在每天凌晨跑。这时候收集每个session的性能历史信息就很重要。event 10046对于不确定的session,收集信息太多,成本太高。statspack缺乏追踪每一个数据库连接的功能。用l ogoff trigger 是个不错的选择,该 trigger 会在每个 session 正常退...

weixin_39902598的博客 305

并行insert出现library cache lock与cursor: pin S wait on X等待问题记录

一、 故障现象与紧急处理 开发反馈凌晨5点左右应用出现大量报错ORA-04021: timeout occurred while waiting to lock object,并且集中出现在insert im_message这个表的操作上,其他表不受影响。 查看当时等待情况,发现确实有异常的内存等待,而且还可以看到sid=15和1347的会话在相互等待,串成了环。 SQL> select sid,status,blocking_session,final_blocking_session,ev.

Hehuyi_In的博客 3491

异常等待事件 kksfbc child completion

作者 阿九【转载时请务必以超链接形式标明文章原始出处和作者信息】  今天(2012-11-19)在检查数据库等待事件的时候发现一个异常的等待会话 kksfbc child completion 通过查询 v$session_wait可以看到等待会话的相关信息   SID SEQ# EVENT P1TEXT P1 P1RAW P2TEXT P

阿九的宅基地 1238

关于shared pool的深入探讨(六)-高Latch竞争案例

研究了几天shared pool,没想到忽然就撞到问题上来了.作为一个案例写出来给大家参考一下吧. 问题起因是公司做短信群发,就是那个18万买的4000字的短信小说(嘘,小声点,我也没看过...).群发的时候每隔一段时间就会发生一次消息队列拥堵的情况在数据库内部实际上是向一个数据表中记录发送日志. 我们介入来检查数据库的问题,在一个拥堵时段我开始诊断: ...

aiduo1030的博客 211
上一篇: BULK COLLECT读取含空日期字段的BUG
下一篇: 升级到FC4
ern
ern
博客等级 码龄24年 25粉丝 115原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值