• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

oracle PGA管理(算法)

mysql 搞代码 4年前 (2022-01-09) 16次浏览 已收录 0个评论

主要总结下pga分配算法,详细概念单总结 简单理解pga,pga就是一个操作系统进程,或线程(WIN上)的专用内存 pmon,smon这些后台进程都有自己的pga pga早期手动 管理 组成由sort_area_size,hash_area_size,bitmap_merge_size,create_bitmap_area_size(这些都叫工作

主要总结下pga分配算法,详细概念单总结

简单理解pga,pga就是一个操作系统进程,或线程(WIN上)的专用内存
pmon,smon这些后台进程都有自己的pga

pga早期手动管理组成由sort_area_size,hash_area_size,bitmap_merge_size,create_bitmap_area_size(这些都叫工作区)
手动缺点,不好回收和共享,会造成PGA内存过度消耗

PAG自动(9i开始支持)
1.pga_aggregate_target来指定所有session总计可以使用的最大pga内存(10M-4096G)
2.workarea_size_policy控制pag自动管理功能开启或关闭,auto表示开启(default), manual表示关闭,9i auto只支持专用连接,共享连接不支持
10g都支持

_pga_max_size:控制pga最大大小
9i-10r1中,单个sql操作内存使用现在
1.对于串行操作,单sql操作pga分配原则,min(5%*pga_aggregate_target,100mb)
########5%*pga_aggregate_targe实际由_smm_max_size控制]
2.并行操作使用pga按 30%*pga_aggregate_target/dop(dop=并行度)

9I _pga_max_size与_smm_max_size
_pga_max_size>5%*pga_aggregate_target,_smm_max_size=5%*pga_aggregate_target’
_pga_max_size<5%*pga_aggregate_target,_smm_max_size=50*_pga_max_size

used_pga_mb=min(5%*pga_aggregate_target,50*_pga_max_size,_smm_max_size)

10r2,11g原则
1.串行操作
pga_aggregate_target<=500MB,_smm_max_size=20%*pga_aggregate_target
pga_aggregate_target between 500m and 1000M ,_smm_max_size=100M
pga_aggregate_target between 1001m and 2.5g,_smm_max_size=10%*pga_aggregate_target
pga_aggregate_target >2.5g,_smm_max_size=0.25GB
2.并行操作
50*pag_aggregate_target/dop
dop<=5时,_smm_max_size生效
dop>5时,_smm_px_max_size生效

_newsort_enabled 控制算法规则,true用10g新算法,false用9i算法
SQL> set linesize 132
SQL> column name format a30
SQL> column value format a25
SQL> SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.ksppdesc describ
2 FROM SYS.x$ksppi x, SYS.x$ksppcv y
3 WHERE x.indx = y.indx AND x.ksppinm LIKE ‘%&par%’
4
SQL> /
Enter value for par: newsort
old 3: WHERE x.indx = y.indx AND x.ksppinm LIKE ‘%&par%’
new 3: WHERE x.indx = y.indx AND x.ksppinm LIKE ‘%newsort%’

NAME VALUE
—————————— ————————-
DESCRIB
————————————————————————————————————————————
_newsort_enabled TRUE
controls whether new sorts can be used as system sort

设置建议
1.oltp系统 pag_aggregate_target=*80%*20%
2.dss系统 pag_aggregate_target=*80%*50%
分析:留20%给os,其他80%给pga+sga,oltp ,pga占 80%中20%,dss占80%中50%

#查看某个process使用情况
select pid,spid,username ,pga_used_mem,pga_alloc_mem,pga_freeable_mem,pga_max_mem,program from v$process where spid=&spid

SQL> select pid

本文来源gaodai.ma#com搞##代!^码7网

,spid,username ,pga_used_mem,pga_alloc_mem,pga_freeable_mem,pga_max_mem,program from v$process where spid=&spid;
Enter value for spid: 25510
old 1: select pid,spid,username ,pga_used_mem,pga_alloc_mem,pga_freeable_mem,pga_max_mem,program from v$process where spid=&spid
new 1: select pid,spid,username ,pga_used_mem,pga_alloc_mem,pga_freeable_mem,pga_max_mem,program from v$process where spid=25510

PID SPID USERNAME PGA_USED_MEM PGA_ALLOC_MEM
———- ———————— ————— ———— ————-
PGA_FREEABLE_MEM PGA_MAX_MEM PROGRAM
—————- ———– ————————————————
33 25510 oracle 0 2664666
983040 8431834oracle@dmk01(PZ98)


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:oracle PGA管理(算法)

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址