oracle 自动内存管理

来源:互联网 发布:北大软件 合肥易云 编辑:程序博客网 时间:2024/05/17 03:04

oracle内存结构一般指的是SGA和PGA(当然还有UGA)。自动内存管理是指自动管理SGA和PGA
一、自动PGA内存管理
使用自动PGA内存管理,这种方法就不需要设置PGA内部其他内存大小,比如 SOR_AREA_SIZE ,BITMAP_MERGE_SIZE,HASH_AREA_SIZE 等.
建立自动PGA内存管理,需要设置两个参数 :
WORKAREA_SIZE_POLICY:这个参数有两个值,分别是MANUAL和AUTO,如果是AUTO值,表示分配的内存量会在PGA内部自动变化,默认值为AUTO
PGA_AGGREGATE_TARGET:表示分配的PGA内存量大小

所以如果在数据库中把WORKAREA_SIZE_POLICY设置为默认值AUTO并且PGA_AGGREGATE_TARGET参数设置不为0那么数据库将处于自动PAG内存管理状态。这两个参数可以用alter system set……来修改

二、自动SGA内存管理
自动内存管理模式下设置SGA_TARGET值不为0,那么数据库将处于自动SGA内存管理,在些还要注意一个参数SGA_MAX_SIZE,这个参数是指自动内存管理模式下,SGA能在到最大值的参数,默认情况下SGA_MAX_SIZE等于SGA_TARGET.这个参数的修改要在数据开启之前才能修改。

三、自动内存管理
在自动内存管理当中,只需要设置一个参数MEMORY_TARGET,这个参数的值指的是SGA和PGA被分配到的总内存的上限值,并且此时可以通过修改SGA_TARGET和PGA_AGGREGATE_SIZE来控制SGA和PGA的最小值.

当数据库在自动内存管理状态下运行一段时间后,那么它就会把数据库运行最优内存内存大小值记录到SPFILE中,下数据库启动的时候就使用这些参数值

原创粉丝点击