================================================================================
Oracle内存由 PGA + SGA + UGA 组成
================================================================================
* PGA : Process Global Area
* SGA : System Global Area
* UGA : User Global Area
对于UGA而言,如果DB使用dedicated server则UGA在PGA中,如果使用shared server则UGA在SGA中
================================================================================
PGA的Manual与Automatic模式
================================================================================
PGA的内存管理模式靠WORKAREA_SIZE_POLICY参数决定
* WORKAREA_SIZE_POLICY = AUTO --表示自动管理
* WORKAREA_SIZE_POLICY = MANUAL --表示人工管理
9Ir2以上版本该参数值默认AUTO,反之为MANUAL。该参数可以在session级别进行调整。
================================================================================
PGA的人工管理 ---Manual PGA Memory Management
================================================================================
PGA 的大小由如下几个系统参数设定
* SORT_AREA_SIZE --在数据存储到磁盘前,对这些数据进行排序的内存总量
* SORT_AREA_RETAINED_SIZE --排序完成后保存排序数据结果集的内存总量,放不下的排序数据将存入temporary tablespace
* HASH_AREA_SIZE --存储hash table的内存总量。在一个大结果集与另一个结果集进行关联时,将使用hash结构。较小的一个结果集将hash到hash table中,如果hash table中放不下则通过join key存储到temporary tablespace中
如果sort结果集大小或hash结果集大小超过参数设定的大小,则超过的部分将写入temporay tablespace
================================================================================
*_AREA_SIZE参数的特点
================================================================================
所有的 *_AREA_SIZE 比如下面这些(红色字体标示的)
levin@LEVIN1> 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
具有如下特性:
* 这些参数设定的值是针对一个single operation,不是针对session,也不是针对一个SQL语句,也就是说如果设置SORT_AREA_SIZE=10M,意味着一个single sort受限于10M,而一个查询SQL语句可能有多个排序,因此一个查询SQL语句不会受限于10M
* 这些参数的设定值是使用上限,不是实际已分配的内存数。比如设置SORT_AREA_SIZE=1G,并会从RAM中分出1G的内存,他的意思仅仅是允许一个single sort最多使用1G的内存。请注意如果这些参数设置的不足以对一次排序或hash操作的数据进行存储,那么多余的数据将swap至temporary tablespace中
---END
【Expert Oracle Database Architecture 2nd】-内存结构
最新推荐文章于 2020-09-09 10:36:16 发布