ITPub博客

首页 > 数据库 > Oracle > [20210729]heapdump UGA.txt

[20210729]heapdump UGA.txt

原创 Oracle 作者:lfree 时间:2021-08-03 09:12:21 0 删除 编辑

[20210729]heapdump UGA.txt

--//昨天听课说到heapdump Dump,当我看到level马上出现一个疑惑。从网上抄一段内容。

alter session set events 'immediate trace name heapdump level <level>';
alter session set events '<error#>  trace name heapdump level <level>';

SQL> alter session set events 'immediate trace name heapdump level n';
--//其中的level n决定了将哪些内存堆转储到跟踪文件:
Level 1:     PGA汇总信息
Level 2:     SGA汇总信息
Level 4:     UGA汇总信息
Level 8:     当前调用的汇总信息(CGA)
Level 16:    用户调用的汇总信息(CGA)
Level 32:    Large pool的汇总信息(LGA)
Level 1025:  PGA详细信息
Level 2050:  SGA详细信息
Level 5000:  UGA详细信息 --//应该是4100.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Level 8200:  当前调用的详细信息
Level 16400: 用户调用的详细信息
Level 32800: Large pool的详细信息

--//比如Level 2:SGA汇总信息,而Level 2050: SGA详细信息
--//2050 = 0x802
--//Level 1025:  PGA详细信息,1025 = 0x401
--//你可以猜测前面数字是按照乘以2的方式递增的,中间什么可能出现5000呢?应该是4100 = 0x1004,这样才是等比排列。

--//从网上下载 DSI 301文档,M09533.pdf,P123页,可以发现上面表示的确实是5000,而前面的hex=0x1004 ,0x1004= 4100.
--//很明显网上的链接都是抄来抄去,谁也没有注意这个细节,实际上UGA详细信息的level实际上是4100=0x1004.
--//DSI 301的pdf文档无法拷贝和粘贴,自己划了一个表格。

heap description    <level> (hex|Dec)         <level> with contents (hex|Dec)
-----------------------------------------------------------------------------
Top PGA                0x1      1              0x401   1025    
Top SGA                0x2      2              0x802   2050
Top UGA                0x4      4              0x1004  4100
current call           0x8      8              0x2008  8200
user call              0x10    16              0x4010 16400
large pool             0x20    32              0x8020 32800
-----------------------------------------------------------------------------
--//自己尝试看看.
--//5000 = 0x1388,4100 = 0x1004

SYS@book> alter session set events 'immediate trace name heapdump level 5000';
Session altered.

SYS@book> @ pp
TRACEFILE                                                                        FILE_NAME
-------------------------------------------------------------------------------- ------------------------------------------------------------
/u01/app/oracle/diag/rdbms/book/book/trace/book_ora_19619.trc                    book_ora_19619.trc

$ grep "HEAP" /u01/app/oracle/diag/rdbms/book/book/trace/book_ora_19619.trc
HEAP DUMP heap name="callheap"  desc=0xc0d1000
HEAP DUMP heap name="java pool"  desc=0x601c2a00

SYS@book> @ tix
New tracefile_identifier =  /u01/app/oracle/diag/rdbms/book/book/trace/book_ora_19619_0001.trc

SYS@book> alter session set events 'immediate trace name heapdump level 4100';
Session altered.

$ grep "HEAP" /u01/app/oracle/diag/rdbms/book/book/trace/book_ora_19619_0001.trc
HEAP DUMP heap name="session heap"  desc=0x7f9e3aca61a0

--//很明显前面5000是错的.

SYS@book> @ tix
New tracefile_identifier =  /u01/app/oracle/diag/rdbms/book/book/trace/book_ora_19619_0002.trc

SYS@book> alter session set events 'immediate trace name heapdump level 4';
Session altered.

$ grep "HEAP" /u01/app/oracle/diag/rdbms/book/book/trace/book_ora_19619_0002.trc
HEAP DUMP heap name="session heap"  desc=0x7f9e3aca61a0

--//再次验证5000是错误的.


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

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

注册时间:2008-01-03

  • 博文量
    4006
  • 访问量
    7970340