ITPub博客

首页 > 数据库 > Oracle > [20210507]分析library cache转储.txt

[20210507]分析library cache转储.txt

原创 Oracle 作者:lfree 时间:2021-05-07 22:18:20 0 删除 编辑

[20210507]分析library cache转储.txt

--//继续前面的分析,看看mutex的地址.
$ grep "Bucket:" book_ora_12044_0003.trc | sed "s/^Bucket: #=//;s/Mutex=//;s/(.*)//" > a3.txt

--//查看a3.txt文件发现:
41 0x80a715c0
46 0x80a71688

80a715c0  = 2158433728
80a71688  = 2158433928

2158433928-2158433728 = 200
200/(46-41) = 40

--//是否可以推出每个mutex结构体占用40字节.

494 0x80a75c88
495 0x80a75cb0

80a75c88  = 2158451848
80a75cb0  = 2158451888

2158451888-2158451848 = 40

--//继续测试:

1149 0x80a7c2e0
1152 0x80a7c358

80a7c2e0  = 2158478048
80a7c358  = 2158478168

2158478168-2158478048 = 120
120/(52-49) = 40

--//写一个脚本分析看看.windows下的awk太难用了,在cygwin下使用.

$ awk 'NR==1{a=$1;b=strtonum($2) } NR>1{ print a,b,$1-a,strtonum($2)-b,(strtonum($2)-b)/($1-a);a=$1;b=strtonum($2)}'  a3.txt | head
41 2158433728 5 200 40
46 2158433928 38 1520 40
84 2158435448 61 2440 40
145 2158437888 77 3080 40
222 2158440968 107 4280 40
329 2158445248 93 3720 40
422 2158448968 13 520 40
435 2158449488 17 680 40
452 2158450168 18 720 40
470 2158450888 24 960 40

$ awk 'NR==1{a=$1;b=strtonum($2) } NR>1{ print (strtonum($2)-b)/($1-a);a=$1;b=strtonum($2)}'  a3.txt | sort | uniq -c | sort -nr
   3698 40
      1 -96675.8
      1 -943344
      1 -5246550
      1 -511229
      1 509576
      1 32856.1
      1 205413
      1 164322
--//可以看出大部分都是占用40.也验证我的判断.

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-2771268/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
熟悉oracle相关技术,擅长sql优化,rman备份与恢复,熟悉linux shell编程。

注册时间:2008-01-03

  • 博文量
    4006
  • 访问量
    7969820