服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > 数据库技术 > Oracle技术 > Oracle开发 > 查看文档

轻松了解 memory_target与自动内存管理

oracle在内存管理上的一个重要增强,就是oracle 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

扫描关注微信公众号