----------
196033696
15:50:33 sys@felix SQL>
使用如下命令转储固定地址空间的内容:
alter session set events'immediate trace name heapdump_addr level 1, addr n';
以上计算的地址空间可以通过如下命令转储:
SQL> ALTER SESSIONSET EVENTS 'immediate trace name heapdump_addr level 1, addr 196033696';
Session altered.
获取转储文件的脚本:
SELECT a.VALUE || b.symbol || c.instance_name || '_ora_' || d.spid ||
'.trc' trace_file
FROM (SELECT VALUE FROM v$parameter WHERE NAME = 'user_dump_dest') a,
(SELECT SUBSTR(VALUE, -6, 1) symbol
FROM v$parameter
WHERE NAME = 'user_dump_dest') b,
(SELECT instance_name FROM v$instance) c,
(SELECT spid
FROM v$session s, v$process p, v$mystat m
WHERE s.paddr = p.addr
AND s.SID = m.SID
AND m.statistic# = 0) d;
检查这个进程转储文件,可以发现如下Heap地址信息及空间分配:
[oracle@felix ~]$grep heap /u01/app/oracle/diag/rdbms/felix/felix/trace/felix_ora_6443.trc
HEAP DUMP heap name="pga heap" desc=0xbaf3ca0
parent=(nil) owner=(nil) nex=(nil) xsz=0xfff0 heap=(nil)
Chunk 7fadf7fc96f0 sz= 568 freeable "joxp heap "
Chunk 7fadf7fc54c0 sz= 160 freeable "regheapd_kdlwpg"
Chunk 7fadf7fb5060 sz= 2992 recreate "KSFQ heap " latch=(nil)
Chunk 7fadf7fb5c10 sz= 160 freeable "KSFQ heap descr"
Chunk 7fadf7fb0790 sz= 232 freeable "iovecheapd_kdlw"
Chunk 7fadf7fb0878 sz= 304 freeable "bcheapd_kdlwpga"
Chunk 7fadf7fb09a8 sz= 208 freeable "sioheapd_kdlwpg"
Chunk 7fadf7fb0ad8 sz= 160 freeable "KSZ pga subheap"
Total heap size = 499952
HEAP DUMP heap name="top call heap" desc=0xbaf94e0
parent=(nil) owner=(nil) nex=(nil) xsz=0xfff8 heap=(nil)
Chunk 7fadf7ccb7d8 sz= 1032 recreate "callheap " latch=(nil)
Chunk 7fadf7cceb78 sz= 4224 freeable "callheap " ds=0xbaf85c0
Chunk 7fadf7ccfbf8 sz= 1032 recreate "callheap " latch=(nil)
Total heap size = 524096
HEAP DUMP heap name="top uga heap" desc=0xbaf9700
parent=(nil) owner=(nil) nex=(nil) xsz=0xfff8 heap=(nil)
Chunk 7fadf7c62018 sz= 65512 freeable "session heap " ds=0x7fadf7cd5be0
Chunk 7fadf7d10018 sz= 65512 freeable "session heap " ds=0x7fadf7cd5be0
Chunk 7fadf7cf0018 sz= 65512 freeable "session heap " ds=0x7fadf7cd5be0
Chunk 7fadf7ce0068 sz= 65432 recreate "session heap " latch=(nil)
Total heap size = 262048
HEAP DUMP heap name="pga heap" desc=0xbaf3ca0
parent=(nil) owner=(nil) nex=(nil) xsz=0x1fff0 heap=(nil)
Chunk 7fadf7fc96f0 sz= 568 freeable "joxp heap "
Chunk 7fadf7fc54c0 sz= 160 freeable "regheapd_kdlwpg"
Chunk 7fadf7fb5060 sz= 2992 recreate "KSFQ heap " latch=(nil)
Chunk 7fadf7fb5c10 sz= 160 freeable "KSFQ heap descr"
Chunk 7fadf7fb0790 sz= 232 freeable "iovecheapd_kdlw"
Chunk 7fadf7fb0878 sz= 304 freeable "bcheapd_kdlwpga"
Chunk 7fadf7fb09a8 sz= 208 freeable "sioheapd_kdlwpg"
Chunk 7fadf7fb0ad8 sz= 160 freeable "KSZ pga subheap"
Total heap size = 827504
由上面红色字体可见,在自动管理模式下,PGA,CGA,UGA都是独立分配的。