怎么发现RAC环境中'library cache pin'等待事件的堵塞者(Blocker)?「建议收藏」

怎么发现RAC环境中'library cache pin'等待事件的堵塞者(Blocker)?

大家好,又见面了,我是全栈君。

怎么发现RAC环境中的’library cache pin’等待事件的堵塞者(Blocker)

參考自
How to Find the Blocker of the ‘library cache pin’ in a RAC environment? (文档 ID 780514.1)

本文不做翻译。全文转载:

Applies to:

Oracle Database – Enterprise Edition – Version 9.2.0.1 to 11.1.0.7 [Release 9.2 to 11.1]
Information  in this document applies to any platform.
Add ***Checked for relevance on 15-Dec-2010***

Goal

The goal of this note is to explain how to understand who is blocking a ‘library cache pin’ in a RAC environment

Fix

a. introduction

V$SESSION blocking fields can’t be used for library cache locks/pins.

Note:169139.1 explains how to diagnose library cache locks/pin in single instance systems. The pin/lock handles are however different on each database instance. So, the pin/lock handle of the  DBA_KGLLOCK can’t be used with a  RAC database and view DBA_KGLLOCK can just be used to locate waiting sessions.

Note:34579.1 can then be used to locate the object locked (via the x$kglob query) on some other instances.

Once you have the object locked, you can query  each instance and drill down the opposite way
to know who is holding a pin on that object via instance views X$KGLOB to get the local instance KGLHDADR => then v$session/DBA_KGLLOCK.

2. scenario example

Scenario to simulate a ‘library cache pin’ problem

a. Session 1 on instance1: Create a dummy procedure:

Create or replace procedure dummy is
begin
null;
end;
/

b. Session 1 on instance1: Execute the above procedure in a PL/SQL block to block the dummy

Begin
Dummy;
Dbms_lock.sleep(1000);
End;
/

3. Session 2 on instance2: Compile the  the above procedure.

alter procedure dummy compile;

=> session 2 will be blocked in 'library cache pin'.


3. How to find the blocker


a. find the p1raw value of the ‘library cache pin’, e.g.

 
select sid, event, p1raw from v$session_wait where event = 'library cache pin';SID EVENT             P1RAW--- ----------------- --------150 library cache pin 288822D4select * from dba_kgllock where kgllkreq > 0;KGLLKUSE KGLLKHDL KGLLKMOD KGLLKREQ KGLL-------- -------- -------- -------- ----2CB1F978 288822D4        0        3 Pin

 

2. find the locked object via x$kglob, e.g.

select kglnaown, kglnaobj from x$kglob where kglhdadr = '288822D4';
KGLNAOWN KGLNAOBJ
-------- --------
SYS      DUMMY

3. find the kglhdadr in the other instances, e.g.—>这是在其它的实例上运行。

select kglhdadr, kglnaown, kglnaobj from x$kglob where kglnaobj = 'DUMMY';
KGLHDADR KGLNAOWN KGLNAOBJ
-------- -------- --------
28577AD8 SYS      DUMMY

4. find the blocking session on the remote instance, e.g.—>这是在其它的实例上运行。

select sid, serial#, sql_text from dba_kgllock w, v$session s, v$sqlarea a
where w.kgllkuse = s.saddr and w.kgllkhdl='28577AD8'
and s.sql_address = a.address
and s.sql_hash_value = a.hash_value;
SID SERIAL# SQL_TEXT
--- ------- ---------------------------------------
155    939  begin dummy; dbms_lock.sleep(1000); end;

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115244.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • GHOSTXPSP3电脑爱好者V9.9美化修正版

    GHOSTXPSP3电脑爱好者V9.9美化修正版全自动无人值守安装,采用万能GHOST技术,安装系统过程只需5-8分钟,适合新旧各种机型。集成DX9.0c最新版、双核补丁。集成常用VB/VC++2005、2008、2010、2012、2013/运行库、万能驱动助理稳定版安装过程会自动删除各分区下可能存在的AUTORUN病毒TcpIP连接数修改为1000;破解Uxtheme.dll可自由添加美化主题。我的文档收藏夹…

    2022年6月10日
    27
  • hostapd配置解析「建议收藏」

    hostapd配置解析「建议收藏」转载自:老丁的Linux:http://laoding.blog.51cto.com/980622/1697015hostapd的配置文件位于/etc/hostapd/hostapd.conf。interface=wlp2s0#bridge=br0driver=nl80211logger_syslog=-1logger_syslog_level=2logger_stdou…

    2022年5月21日
    63
  • p2p流媒体平台有哪些(p2p工作模式)

    P2P流媒体开源项目介绍1.PeerCast2002年成立,最早的开源P2P流媒体项目。PeerCast把节点按树结构组织起来,每个频道都是一个树,直播源是根节点,父节点只给子节点提供数据。节点离根节点越远,传输时延就越大,所以树的深度应该尽可能短,但节点有限的上行带宽限制了节点的宽度。 2.Tribler2008年开始的项目,既能实现BT下载,还能播放视频的点播和直播…

    2022年4月17日
    76
  • 为UWP应用开启回环访问权限「建议收藏」

    为UWP应用开启回环访问权限

    2022年3月13日
    179
  • hive中操作hdfs命令

    hive中操作hdfs命令版本:Hadoop2.7.4–查看dfs帮助信息[root@hadp-mastersbin]#dfsUsage:dfs[genericoptions][-appendToFile…][-cat[-ignoreCrc]…][-checksum…][-chgrp[-R]GROUPPATH…][-chmod[-R]<MODE[,MODE]…|OCTALMODE>PATH…][-chown[-R][OWNER][:[GROUP]]PA

    2022年9月27日
    0
  • Windows环境下Anaconda3安装配置pytorch详细步骤(踩坑汇总)

    Windows环境下Anaconda3安装配置pytorch详细步骤(踩坑汇总)【机器学习】Windows环境下Anaconda安装配置pytorch详细步骤(踩坑汇总)Anaconda安装Anaconda检验安装并配置基础环境Pytorch这次安装过程可以说是一波三折了,感觉几乎所有奇奇怪怪的问题都遇见了。感觉很少有遇见这么多问题的同学,所有索性汇总一下写出来给大家做个参考。因为也是我第一次写博客,所以希望大家多批评指正,我会虚心改正的哈。希望对大家有帮助!Anacon…

    2022年6月24日
    145

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号