ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ASSM: 自动共享内存管理

ASSM: 自动共享内存管理

原创 Linux操作系统 作者:grace_xuxj 时间:2010-10-28 10:44:33 0 删除 编辑


l  1.什么是ASSM?

在10g以前的版本中,SGA的各个部分,share_pool_size,db_cache_size等需要由管理员手动设置大小,当数据库负荷太大时,若没有调整这些参数的大小,就会产生“无法分配内存”的错误。

在10g中,将参数statistics_level设置为typecal 或all,再使用新参数SGA_TARGET设置SGA内存区的大小即可,无需定义每个参数的大小,系统会根据需要自动在多个组件之间分配内存大小。

 

l  2.自动共享内存管理时,设置SGA各部分内存参数的最小值限制

如果同时设置了SGA_TARGET和各内存参数,如:

SGA_TARGET=300M

SHARED_POOL_SIZE=32M

DB_CACHE_SIZE=90M

则表示共享池和数据缓冲区至少会分配32M和90M内存,

剩下的可由系统自动分配的内存为:300-32-90=172M

 

l  3.手动内存管理转换为自动管理

只要设置新参数SGA_TARGET即可,如:SGA_TARGET=1000M

在自动内存管理模式下,如果数据库使用SPFILE,那么在数据库关闭后,系统会将上一次数据库关闭时的内存分配状态记录下来。

因此,如果是自动内存管理,最好使用SPFILE而非PFILE。

SQL> show parameter SPFILE

SQL>  show parameter pfile

 

ASMM(自动存储管理):

只要SGA_TARGET设置为0,那么ASMM自动就关闭了

如果给SGA_TARGET设置值,那么ASMM就开启了

 ASMM开启,那么意味着内存自动管理

如果关闭,内存是手动管理

 

If you set SGA_TARGET to 0, Automatic Shared Memory Management is disabled.

And manually set each component parameters such as shared_pool_size, buffer_cache_size.

 

Please follow the steps in " 3.4 ASMM to Manual " section of Note 295626.1.

Note 295626.1 - How To Use Automatic Shared Memory Management (ASMM) In Oracle10g

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23490498/viewspace-676937/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: shrink table
下一篇: 修改redo log大小
请登录后发表评论 登录
全部评论

注册时间:2010-03-10

  • 博文量
    126
  • 访问量
    114696