您的位置:首页 > 数据库 > Oracle

oracle 10g PGA内存结构

2010-07-17 16:06 260 查看
PGA研究我们需要可以通过转储PGA结构来实现:
alter session set events 'immediate trace name heapdump level n';
level的不同级别决定了哪些内存存储到跟踪文件:
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 详细信息
Level 8200: 当前调用的详细信息
Level 16400: 用户调用的详细信息
Level 32800: Large pool的详细信息
下面通过转储level 1级别PGA概要信息

SQL> alter session set events 'immediate trace name heapdump level 1';
在udump下可以找到刚才转储的PGA信息:
HEAP DUMP heap name="pga heap" desc=10669e340
extent sz=0x20c0 alt=184 het=32767 rec=0 flg=2 opc=2
parent=0 owner=0 nex=0 xsz=0xfff0
EXTENT 0 addr=ffffffff7bc20010
Chunk ffffffff7bc20020 sz= 15328 perm "perm " alo=4424
Chunk ffffffff7bc23c00 sz= 6680 free " "
Chunk ffffffff7bc25618 sz= 4224 freeable "Alloc environm " ds=106860890
Chunk ffffffff7bc26698 sz= 22544 freeable "Fixed Uga "
Chunk ffffffff7bc2bea8 sz= 336 freeable "ldm context "
Chunk ffffffff7bc2bff8 sz= 336 freeable "ldm context "
Chunk ffffffff7bc2c148 sz= 336 freeable "ldm context "
Chunk ffffffff7bc2c298 sz= 336 freeable "ldm context "
Chunk ffffffff7bc2c3e8 sz= 336 freeable "ldm context "
Chunk ffffffff7bc2c538 sz= 336 freeable "ldm context "
Chunk ffffffff7bc2c688 sz= 96 freeable "ldm context "
Chunk ffffffff7bc2c6e8 sz= 304 freeable "ldm context "
Chunk ffffffff7bc2c818 sz= 1008 freeable "ldm context "
Chunk ffffffff7bc2cc08 sz= 8240 freeable "ldm context "
Chunk ffffffff7bc2ec38 sz= 2136 freeable "ldm context "
Chunk ffffffff7bc2f490 sz= 608 freeable "ldm context "
Chunk ffffffff7bc2f6f0 sz= 360 freeable "ldm context "
Chunk ffffffff7bc2f858 sz= 592 freeable "kopolal dvoid "
Chunk ffffffff7bc2faa8 sz= 432 freeable "kopolal dvoid "
Chunk ffffffff7bc2fc58 sz= 344 freeable "kopolal dvoid "
Chunk ffffffff7bc2fdb0 sz= 592 freeable "kopolal dvoid "
EXTENT 1 addr=10690c030
Chunk 10690c040 sz= 5840 perm "perm " alo=5840
Chunk 10690d710 sz= 72 free " "
Chunk 10690d758 sz= 1072 freeable "kopolal dvoid "
Chunk 10690db88 sz= 1384 freeable "kews sqlstat st"
EXTENT 2 addr=106909f50
Chunk 106909f60 sz= 3808 perm "perm " alo=3808
Chunk 10690ae40 sz= 376 freeable "KFK PGA "
Chunk 10690afb8 sz= 4184 freeable "qmtmInit " ds=1069017c8
EXTENT 3 addr=106907e70
Chunk 106907e80 sz= 4184 freeable "qmtmInit " ds=1069017c8
Chunk 106908ed8 sz= 4184 freeable "qmtmInit " ds=1069017c8
EXTENT 4 addr=106905d90
Chunk 106905da0 sz= 4184 freeable "qmtmInit " ds=1069017c8
Chunk 106906df8 sz= 4184 freeable "qmtmInit " ds=1069017c8
EXTENT 5 addr=106903c20
Chunk 106903c30 sz= 8256 perm "perm " alo=8256
Chunk 106905c70 sz= 56 free " "
Chunk 106905ca8 sz= 56 freeable "ldm context "
EXTENT 6 addr=106901b40
Chunk 106901b50 sz= 6576 perm "perm " alo=6576
Chunk 106903500 sz= 1224 recreate "joxp heap " latch=0
ds 1069039e0 sz= 1224 ct= 1
Chunk 1069039c8 sz= 568 freeable "joxp heap "
EXTENT 7 addr=1068ffa60
Chunk 1068ffa70 sz= 6400 perm "perm " alo=6400
Chunk 106901370 sz= 1264 perm "perm " alo=1264
Chunk 106901860 sz= 704 recreate "qmtmInit " latch=0
ds 1069017c8 sz= 21624 ct= 6
10690afb8 sz= 4184
106907e80 sz= 4184
106908ed8 sz= 4184
106905da0 sz= 4184
106906df8 sz= 4184
EXTENT 8 addr=1068faa10
Chunk 1068faa20 sz= 20512 perm "perm " alo=20512
EXTENT 9 addr=1068f77a0
Chunk 1068f77b0 sz= 12864 perm "perm " alo=12864
EXTENT 10 addr=1068f56c0
Chunk 1068f56d0 sz= 3240 perm "perm " alo=3240
Chunk 1068f6378 sz= 1520 perm "perm " alo=1520
Chunk 1068f6968 sz= 416 perm "perm " alo=416
Chunk 1068f6b08 sz= 144 freeable "KFIO PGA struct"
Chunk 1068f6b98 sz= 72 freeable "koh-kghu call h"
Chunk 1068f6be0 sz= 376 freeable "PLS cca hp desc"
Chunk 1068f6d58 sz= 2600 freeable "kjztprq struct "
EXTENT 11 addr=1068f35e0
Chunk 1068f35f0 sz= 3672 perm "perm " alo=3672
Chunk 1068f4448 sz= 472 perm "perm " alo=448
Chunk 1068f4620 sz= 96 freeable "KJZT context "
Chunk 1068f4680 sz= 3968 recreate "KSFQ heap " latch=0
ds 1068f5618 sz= 3968 ct= 1
Chunk 1068f5600 sz= 160 freeable "KSFQ heap descr"
EXTENT 12 addr=1068ed590
Chunk 1068ed5a0 sz= 24608 perm "perm " alo=24608
EXTENT 13 addr=1068eb3c0
Chunk 1068eb3d0 sz= 8608 perm "perm " alo=8608
EXTENT 14 addr=1068e70b0
Chunk 1068e70c0 sz= 17024 freeable "kgh stack "
EXTENT 15 addr=10685e920
Chunk 10685e930 sz= 2144 perm "perm " alo=2144
Chunk 10685f190 sz= 48 free " "
Chunk 10685f1c0 sz= 32 freeable "external name "
Chunk 10685f1e0 sz= 32 freeable "kzsna:login nam"
Chunk 10685f200 sz= 4184 recreate "Alloc environm " latch=0
ds 106860890 sz= 8408 ct= 2
ffffffff7bc25618 sz= 4224
Chunk 106860258 sz= 1904 freeable "kpuinit env han"
Total heap size = 232776
FREE LISTS:
Bucket 0 size=56
Chunk 10690d710 sz= 72 free " "
Chunk 106905c70 sz= 56 free " "
Chunk 10685f190 sz= 48 free " "
Bucket 1 size=88
Bucket 2 size=152
Bucket 3 size=168
Bucket 4 size=280
Bucket 5 size=432
Bucket 6 size=536
Bucket 7 size=1048
Bucket 8 size=2072
Bucket 9 size=4120
Chunk ffffffff7bc23c00 sz= 6680 free " "
Bucket 10 size=8216
Bucket 11 size=16408
Bucket 12 size=32792
Bucket 13 size=65560
Bucket 14 size=131096
Bucket 15 size=262168
Bucket 16 size=524312
Bucket 17 size=2097176
Total free space = 6856
UNPINNED RECREATABLE CHUNKS (lru first):
PERMANENT CHUNKS:
Chunk ffffffff7bc20020 sz= 15328 perm "perm " alo=4424
Chunk 10690c040 sz= 5840 perm "perm " alo=5840
Chunk 106909f60 sz= 3808 perm "perm " alo=3808
Chunk 106901370 sz= 1264 perm "perm " alo=1264
Chunk 106903c30 sz= 8256 perm "perm " alo=8256
Chunk 106901b50 sz= 6576 perm "perm " alo=6576
Chunk 1068ffa70 sz= 6400 perm "perm " alo=6400
Chunk 1068f6968 sz= 416 perm "perm " alo=416
Chunk 1068f4448 sz= 472 perm "perm " alo=448
Chunk 1068faa20 sz= 20512 perm "perm " alo=20512
Chunk 1068f6378 sz= 1520 perm "perm " alo=1520
Chunk 1068f77b0 sz= 12864 perm "perm " alo=12864
Chunk 1068f56d0 sz= 3240 perm "perm " alo=3240
Chunk 1068f35f0 sz= 3672 perm "perm " alo=3672
Chunk 1068ed5a0 sz= 24608 perm "perm " alo=24608
Chunk 1068eb3d0 sz= 8608 perm "perm " alo=8608
Chunk 10685e930 sz= 2144 perm "perm " alo=2144
Permanent space = 125528
******************************************************
******************************************************
HEAP DUMP heap name="top call heap" desc=1066a20c8
extent sz=0x20c0 alt=200 het=32767 rec=0 flg=2 opc=2
parent=0 owner=0 nex=0 xsz=0xfff8
EXTENT 0 addr=ffffffff7bc10008
Chunk ffffffff7bc10018 sz= 320 perm "perm " alo=320
Chunk ffffffff7bc10158 sz= 59856 free " "
Chunk ffffffff7bc1eb28 sz= 4224 freeable "callheap " ds=1066a1298
Chunk ffffffff7bc1fba8 sz= 1112 recreate "callheap " latch=0
ds 1066a1298 sz= 5336 ct= 2
ffffffff7bc1eb28 sz= 4224
Total heap size = 65512
FREE LISTS:
Bucket 0 size=56
Bucket 1 size=88
Bucket 2 size=152
Bucket 3 size=168
Bucket 4 size=280
Bucket 5 size=432
Bucket 6 size=536
Bucket 7 size=1048
Bucket 8 size=2072
Bucket 9 size=4120
Bucket 10 size=8216
Bucket 11 size=16408
Bucket 12 size=32792
Chunk ffffffff7bc10158 sz= 59856 free " "
Bucket 13 size=65560
Bucket 14 size=131096
Bucket 15 size=262168
Bucket 16 size=524312
Bucket 17 size=2097176
Total free space = 59856
UNPINNED RECREATABLE CHUNKS (lru first):
PERMANENT CHUNKS:
Chunk ffffffff7bc10018 sz= 320 perm "perm " alo=320
Permanent space = 320
******************************************************
******************************************************
HEAP DUMP heap name="top uga heap" desc=1066a22e8
extent sz=0xffc0 alt=200 het=32767 rec=0 flg=3 opc=3
parent=0 owner=0 nex=0 xsz=0x1fff8
EXTENT 0 addr=ffffffff7bb90008
Chunk ffffffff7bb90018 sz= 131048 free " "
EXTENT 1 addr=ffffffff7bc40008
Chunk ffffffff7bc40018 sz= 80 free " "
Chunk ffffffff7bc40068 sz= 65432 freeable "session heap " ds=ffffffff7bc266c0
EXTENT 2 addr=ffffffff7bc30008
Chunk ffffffff7bc30018 sz= 80 free " "
Chunk ffffffff7bc30068 sz= 65432 recreate "session heap " latch=0
ds ffffffff7bc266c0 sz= 130864 ct= 2
ffffffff7bc40068 sz= 65432
Total heap size = 262072
FREE LISTS:
Bucket 0 size=56
Chunk ffffffff7bc40018 sz= 80 free " "
Chunk ffffffff7bc30018 sz= 80 free " "
Bucket 1 size=88
Bucket 2 size=152
Bucket 3 size=168
Bucket 4 size=280
Bucket 5 size=432
Bucket 6 size=536
Bucket 7 size=1048
Bucket 8 size=2072
Bucket 9 size=4120
Bucket 10 size=8216
Bucket 11 size=16408
Bucket 12 size=32792
Bucket 13 size=65560
Chunk ffffffff7bb90018 sz= 131048 free " "
Bucket 14 size=131096
Bucket 15 size=262168
Bucket 16 size=524312
Bucket 17 size=2097176
Total free space = 131208
UNPINNED RECREATABLE CHUNKS (lru first):
PERMANENT CHUNKS:
Permanent space = 0
******************************************************
这样我们就可以清晰分析和研究PGA的结构了。
进一步我们还可以将具体的数据存储结构转储出来(DS),如以上红色字体的地址如下:
SQL> select to_number('10690afb8','xxxxxxxxxx') from dual;
TO_NUMBER('10690AFB8','XXXXXXXXXX')
-----------------------------------
4405112760
SQL> alter session set events 'immediate trace name heapdump_addr level 1,addr 4405112760';
会话已更改。
可惜我这个操作晚了些,未见trace文件生成,但是主要是为了更加细化分析。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息