ホームページ  >  記事  >  データベース  >  Oracle 内存管理PGA

Oracle 内存管理PGA

WBOY
WBOYオリジナル
2016-06-07 17:02:401149ブラウズ

Oracle 10g中需要设置workarea_size_policy为AUTO,并设置pga_aggregate_target参数来实现PGA的内存管理。

Oracle 10g中需要设置workarea_size_policy为AUTO,并设置pga_aggregate_target参数来实现PGA的内存管理。

pga_aggregate_target参数可以根据经验值进行设置,评估PGA的简单方法可以查看AWR报告中的PGA命中率(PGA Cache Hit%),以及分析direct path read temp和direct path write temp等待事件是否比较高,这些等待表示PGA设置参数有限而导致大量临时表空间操作出现的等待事件。当然还有复杂的评估PGA的方法,以后再看吧。

注意,9I的shared server连接需要明确设置SORT_AREA_SIZE 和 HASH_AREA_SIZE,也就是说不能用自动管理模式。10G则无此限制。
PGA_AGGREGATE_TARGET是一个上限(理论上的最大值,PL/SQL就很容易超过),ORACLE启动时并不分配那么多,你甚至可以设置大于物理MEM的大小(生产库不要这么做呀,要设置pga_aggregate_target+sga提醒一下自己。

v$pgastat:

几个重要参数的说明:
aggregate PGA target parameter  设置的pga的目标参数值
aggregate PGA auto target 在自动管理模式下,oracle工作区可使用的pga
total PGA inuse 当前实例使用的pga
total PGA allocated  当前实例实际分配的pga
maximum PGA allocated 可分配的最大pga
over allocation count ORACLE分配的PGA超过pga_aggregate_target的次数.这个参数可以判断pga_aggregate_target是否设置的太小.
cache hit percentage 自从instance启动后的PGA命中率,如果所有的操作都在MEM中进行没有在TEMP里运行的话应该是100%

linux

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。