分类:
2008-10-16 19:35:49
在内存管理上的一个重要增强,就是 11g的一个新特性:Memory_target与自动内存管理(Automatic Memory Management)。
需要大家注意的是,加入这个参数设置过高,实例启动时会出现错误提示:
SQL*Plus: Release 11.1.0.5.0 - Beta on Sun Jul 29 08:35:28 2007 Copyright (c) 1982, 2007, Oracle. All rights reserved. Connected to an idle instance. SQL> startup ORA-00845: MEMORY_TARGET not supported on this system |
此错误提示并不是指特性不支持,而是需要你去调整内存设置。
设置了这个参数后,自动内存则会调整启用:
SQL> show parameter memory NAME TYPE VALUE --------------------- ------------- ----------- hi_shared_memory_address integer 0 memory_max_target big integer 416M memory_target big integer 416M shared_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 heap pga_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 |