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.
蓝牙Channel Sounding为真正的距离感知赋能 1:工作原理蓝牙™信道探测使用两种经过验证的测距方法——PBR(PBR)和RTT(RTT),实现蓝牙设备之间的安全精密测距。 阅读详情

相关推荐

openeuler在线/离线安装docker服务

openeuler在线/离线安装docker服务

haixuti7的博客 1071

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

西门子PLC新手必看:200SMART与1200/1500的MODBUS RTU通讯实战(附完整配置流程)

本文详细解析了西门子PLC中S7-200 SMART与S7-1200/1500之间实现MODBUS RTU通讯的完整实战流程。内容涵盖硬件接线、软件配置及程序编写,重点讲解了200SMART作为从站、1200/1500作为主站的典型架构,并提供了关键功能块的使用方法和常见问题排查技巧,帮助新手快速打通不同系列PLC间的数据交换。

weixin_29214559的博客 395

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万+

手把手教你用EGM96模型校正DEM数据(含在线工具推荐)

本文详细介绍了如何使用EGM96地球重力场模型校正DEM数据中的高程偏差。通过对比WGS84椭球面与大地水准面的差异,解释了校正原理,并提供了从在线工具快速验证到Python脚本批量处理的全流程实战指南,帮助GIS开发者和数据分析师确保高程数据基准一致,提升空间分析精度。

ttt77的博客 1007

【Unity实战100例】Unity循环UI界面切换卡片功能

功能包括:可以设置半径,高度,速度,元素数量用户可以根据自己的实际需求接入 制作思路:创建每个元素对应的虚拟点,通过旋转管理这些虚拟点,然后把旋转信息和位置信息同步给实际的元素

纯技术流日常开发商业开发记录总结等 7717

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

简单了解Oracle 等待事件

qq_69462005的博客 1574

十八万字《python从零到精通教程》第二版,贴心保姆教你从零变大神,学不会找我

文章目录一.pycharm下载安装二.python下载安装三.pycharm上配置python四.配置镜像源让你下载嗖嗖的快4.1pycharm内部配置4.2手动添加镜像源4.3永久配置镜像源五.插件安装(比如汉化?)5.1自动补码神器第一款5.2 自动补码神器第二款5.2汉化pycharm5.3其它插件六.美女背景七.自定义脚本开头八、这个前言一定要看九、python入门十、python缩进十一、Python注释1.单行注释2.多行注释十二、Python 变量1.变量定义理解2. 变量名命名3. 分配多个

全栈川川 7万+

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

通过情感分类实例 详细介绍如果借助Huggingface平台 完成Transformers模型运行(包括配置环境-tokenizer-Model-输出头-预测)

attention_mask和padding是配套使用的,当人为去修改padding的时候,也要把attention_mask里面的参数进行修改。下载Huggingface包,Huggingface可以说是一个社区,集成了很多nlp的模型、数据集、预训练权重文件等等,并且免费,只需要pip install下载即可。那么用什么做分类就选择什么输出头,就import什么东西。代码中使用了自动分词器选择,它是由checkpoint指定的预训练模型关联的,不用我们自己选择tokenizer,它自动帮我们选择好了。

LZL2020LZL的博客 1135

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

WINCC7.3破解文件

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

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

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

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

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

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

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

还不算晕的专栏 510

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

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

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

Oracle RAC 环境 library cache lock 排查:从 1904 个会话阻塞到根因定位的 5 个查询

本文详细解析了Oracle RAC环境下Library Cache Lock等待事件的系统性排查方法,通过五步诊断法快速定位阻塞源头,包括三维定位法、阻塞链分析技术、对象指纹识别技术等。文章还提供了典型场景的解决方案库和高级监控与预防体系,帮助DBA有效应对高并发环境下的性能问题。

weixin_33910460的博客 360
上一篇: 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、付费专栏及课程。

余额充值