[20220301]oracle如何定位使用library cache mutex.txt

[20220301]oracle如何定位使用library cache mutex.txt

–//这个问题实际上困扰我很久,我开始以为library cache bucket在1个chunk内,只要知道 基地址+40buckect值 获得偏移,定位
–//library cache bucket 的地址。
–//注:11g 下每个library cache bucket占用16字节,后面跟着mutex结构体,mutex结构占用24字节(注:有朋友讲占用16字节,我想与
–//转储看到mutex仅仅有4个值有关,4
4=16,我个人还是按照24字节来算),这样整个结构占用40字节。

–//可以参考我前面的测试 [20210524]分析library cache转储 3.txt

–//而实际上的情况被分成好几个chunk,显然无法简单的通过 基地址+40*buckect值 计算获得偏移,那么oracle计算sql语句的
–//hash_value,通过hash_value值计算出bucket值, 等于hash_value % (2^_kgl_bucket_count * 256) ,知道bucket数值,
–//如何通过bucket数值来定位library cache muext的地址呢?自己尝试做这方面的探究。

1.环境:
SCOTT@book> @ ver1
PORT_STRING VERSION BANNER
_kghdsidx_count max kghdsidx count TRUE 1 1 FALSE FALSE

SYS@book> @ hide _kgl_bucket_count
NAME DESCRIPTION DEFAULT_VALUE SESSION_VALUE SYSTEM_VALUE ISSES ISSYS_MOD

Original: https://www.cnblogs.com/lfree/p/15962856.html
Author: lfree
Title: [20220301]oracle如何定位使用library cache mutex.txt

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/606232/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球