设为首页 加入收藏

TOP

Oracle内存结构(之三)(一)
2014-11-24 00:57:10 来源: 作者: 【 】 浏览:29
Tags:Oracle 内存 结构 之三

【深入解析--eygle】 学习笔记

1.2.3 PGA的管理:

sys@felix SQL>show parameter area_size
 
NAME                                 TYPE                   VALUE
------------------------------------ ----------------------------------------------------
bitmap_merge_area_size               integer                1048576
create_bitmap_area_size              integer                8388608
hash_area_size                       integer                131072
sort_area_size                       integer                65536
workarea_size_policy                 string                 AUTO 

自动化SQL执行内存管理(Automated SQL Execution Memory Management),也称为自动PGA管理,使用这个新特性,Oracle可以在一个总体PGA使用限制下自动管理和调整SQL内存区,从而大大简化了DBA的工作,同时也 高了数据库的性能。

为实现自动的PGA管理,Oracle引入了几个新的初始化参数:

(1)PGA_AGGREGATE_TARGET 此参数用来指定所有session 总计可以使用最大PGA内存。这个参数可以被动态的更改,取值范围从10M ~(4096G-1 )bytes。

(2)WORKAREA_SIZE_POLICY此参数用于开关PGA内存自动管理功能,该参数有两个选项:AUTO 和 MANUAL,当 设 置为AUTO时,数据库使用自动PGA管理功能,当设置为MANUAL时,则仍然使用之前手工管理的方式。

缺省的,WORKAREA_SIZE_POLICY参数被设置为AUTO。

sys@felix SQL>show parameterWORKAREA_SIZE_POLIC
 
NAME                                 TYPE                   VALUE
---------------------------------------------------------- --------
workarea_size_policy                 string                 AUTO

此外需要注意的是,在不同版本中,自动PGA管理的范畴不同:

(1)在Oracle9i中,PGA_AGGREGATE_TARGET参数仅对专用服务器模式下(DedicatedServer)的专属连接有效,但是对共享服务器(Shared Server)连接无效

(2)从Oracle10g开始PGA_AGGREGATE_TARGET对专用服务器连接和共享服务器连接同时生效。

1.2.4 参数的设置与内存分配

工作区性能期望实现如下目标:

workarea execution - optimal >= 90%

workarea execution - multipass = 0%

生产系统的PGA性能指标脚本:

SELECT NAME,
      VALUE,
       100 *
      (VALUE / DECODE((SELECT SUM(VALUE)
                         FROM v$sysstat
                        WHERE NAME LIKE'workarea executions%'),
                       0,
                       NULL,
                       (SELECT SUM(VALUE)
                          FROM v$sysstat
                         WHERE NAME LIKE'workarea executions%'))) pct
  FROMv$sysstat
 WHERE NAMELIKE 'workarea executions%';
\

\

sys@felix SQL>select description,dest fromx$messages where description like 'SQL Memory%';
 
DESCRIPTION                                        DEST
-------------------------------------------------- ----------
SQL Memory Management Calculation                  CKPT
 
15:26:04 sys@felix SQL>
sys@felix SQL>select * from v$pgastat;

NAME                                          VALUE UNIT
---------------------------------------- ---------- ------------------------
aggregate PGA target parameter            146800640 bytes
aggregate PGA auto target                  22099968 bytes
global memory bound                        29360128 bytes
total PGA inuse                           122360832 bytes
total PGA allocated                       144107520 bytes
maximum PGA allocated                     163160064 bytes
total freeable PGA memory                  11141120 bytes
process count                                    32
max processes count                              36
PGA memory freed back to OS               374669312 bytes
total PGA used for auto workareas                 0 bytes
maximum PGA used for auto workareas         6313984 bytes
total PGA used for manual workareas               0 bytes
maximum PGA used for manual workareas             0 bytes
over allocation count                             0
bytes processed                           232915968 bytes
extra bytes read/written                          0 bytes
cache hit percentage                            100 percent
recompute count (total)                        6004

19 rows selected. 

1.2.6 PGA调整建议

伴随自动PGA调整功能的引入,Oracle同时引入相应的动态性能视图用于优化建议,PGA的优化建议通过v$pga_target_advice 和 v$pga_target_advice_histogra提供。v$pga_target_advice视图通过对不同PGA设置进行评估,给出在不同设置下的PGA命中率和OverAlloc等信息。

15:32:23 sys@felix SQL>select PGA_TARGET_FOR_ESTIMATE/1024/1024 PGAMB, PGA_TARGET_FACTOR, 
15:37:08   2  ESTD_PGA_CACHE_HIT_PERCENTAGE, ESTD_OVERALLOC_COUNT
15:37:08   3  from v$pga_target_advice;

     PGAMB PGA_TARGET_FACTOR ESTD_PGA_CACHE_HIT_PERCENTAGE ESTD_OVERALLOC_COUNT
---------- ----------------- ----------------------------- --------------------
      17.5              .125                            85                    4
        3
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇oracle导入dmp文件命令 下一篇CentOS5.6下安装Oracle10G软件【..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: