nkj827
作者nkj827·2020-04-30 21:42
项目经理·长春长信华天

PGA设置

字数 1981阅读 621评论 0赞 3

PGA

这是一种在服务进程启动时由 Oracle 创建的非共享的内存区。只有服务进程才能访问属于它的 PGA

PGA 所包含:

私有 SQL 区

私有 SQL 区中包含绑定信息及运行时内存结构等数据。每个提交了 SQL 语句的会话都有一个私有 SQL 区。每个提交了相同 SQL 语句的用户都有自己的私有 SQL

区,但它们使用同一个共享 SQL 区。即多个私有 SQL 区可以和同一个共享 SQL 区相联系。

游标的私有 SQL 区又可以被分为两个区域,这两部分的生命周期有所不同:

  • 持续数据区(persistent area),包含绑定信息(bind information)之类的数据。此区只在游标关闭时才会被释放。
  • 运行时区(run-time area),当游标执行结束就会被释放。

游标

当一个游标被关闭(或语句句柄被释放)后,相应的私有 SQL 区才会被清除。

会话内存

用于存储会话的变量(登录信息)及其他与会话有关的信息。对于共享服务器而言,会话内存是共享的而非为某个会话所私有。

SQL 工作区

  • 需要进行排序的操作(排序(order by),分组(group-by),rollup,window function)
  • 哈希连接(hash-join)
  • 位图融合(bitmap merge)
  • 位图创建(bitmap create)

show parameter workarea

NAME TYPE VALUE


workarea_size_policy string AUTO

分为自动(AUTO)和手动(MANUAL)两种方式管理 PGA

手动管理需单独配置 BITMAP_MERGE_AREA_SIZE、CREATE_BITMAP_AREA_SIZE、HASH_AREA_SIZE、SORT_AREA_SIZE 等参数

show parameter pga

NAME TYPE VALUE


pga_aggregate_target big integer 100M

PGA 大小设置值

V$SQL_WORKAREA(SQL 区的使用)和 V$SQL_WORKAREA_ACTIVE(当前 SQL 区的使用)

专用服务器与共享服务器区别:

内存区 专用服务器 共享服务器

会话内存 私有的 共享的

持续数据区位置 PGA SGA

SELECT 语句的运行时区 PGA PGA

DML/DDL 语句的运行时区的位置 PGA PGA

select name,case unit when 'bytes' then round(value/1024/1024,2) else value end case,

case unit when 'bytes' then 'MB' else unit end case

from v$pgastat;

NAME CASE CASE


aggregate PGA target parameter 100 MB

aggregate PGA auto target 65.81 MB

global memory bound 20 MB

total PGA inuse 26.95 MB

total PGA allocated 51.16 MB

maximum PGA allocated 85.91 MB

total freeable PGA memory 0 MB

process count 30

max processes count 34

PGA memory freed back to OS 0 MB

total PGA used for auto workareas 0 MB

NAME CASE CASE


maximum PGA used for auto workareas 3.61 MB

total PGA used for manual workareas 0 MB

maximum PGA used for manual workareas 0 MB

over allocation count 0

bytes processed 534.1 MB

extra bytes read/written 0 MB

cache hit percentage 100 percent

recompute count (total) 1183

aggregate PGA target parameter PGA_AGGREGATE_TARGET 参数值

aggregate PGA auto target 可被自动管理的大小

total PGA inuse 正在使用的大小

total PGA allocated 已经被分配的大小

total freeable PGA memory 空闲的大小

over allocation count 超越目标值的次数

cache hit percentage 使用内存空间与临时空间的比例

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

3

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

X社区推广