Oracle 11g的一个新特性:Memory_target

来源:岁月联盟 编辑:zhuzhu 时间:2008-01-28

Oracle在内存治理上的一个重要增强,就是Oracle 11g的一个新特性:Memory_target与自动内存治理(Automatic Memory Management)

需要大家注重的是,加入这个参数设置过高,实例启动时会出现错误提示:

SQL*Plus: Release 11.1.0.5.0 - Beta on Sun Jul 29 08:35:28 2007Copyright (c) 1982, 2007, Oracle. All rights reserved.Connected to an idle instance.SQL> startupORA-00845: MEMORY_TARGET not supported on this system

此错误提示并不是指特性不支持,而是需要你去调整内存设置。

设置了这个参数后,自动内存则会调整启用:

SQL> show parameter memory NAME                          TYPE           VALUE--------------------- -------------      -----------     hi_shared_memory_address integer         0memory_max_target       big integer    416Mmemory_target           big integer    416Mshared_memory_address     integer       0

类似SGA_MAX_SIZE与SGA_TARGET一样,MEMORY_MAX_TARGET与MEMORY_TARGET成对出现,这一特性的出现使得PGA SGA作为整体内存使用被一致的纳入自动治理范畴。

你会发现,与Oracle10g类似,设置了自动内存治理之后,PGA_AGGREGATE_TARGET参数不再需要设置,取而代之发挥作用的参数是带有2个下划线的__PGA_AGGREGATE_TARGET参数,大家可以仔细看一下这几个参数的解释:

SQL> select ksppinm,ksppdesc from x$ksppi  2  where ksppinm like '%pga%';KSPPINM                       KSPPDESC-----------------------    ---------------_pga_large_extent_size   PGA large extent size_use_ism_for_pga           Use ISM for allocating large extents_kdli_sio_pga                 use PGA allocations for direct IO_kdli_sio_pga_top           PGA allocations come from toplevel PGA heappga_aggregate_target      Target size for the aggregate PGA memory consumed by the instance__pga_aggregate_target  Current target size for the aggregate PGA memory consumed_pga_max_size              Maximum size of the PGA memory for one process