Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1149033
  • 博文数量: 231
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 2662
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-03 16:35
个人简介

学无止境

文章分类

全部博文(231)

文章存档

2014年(7)

2013年(103)

2011年(11)

2010年(53)

2009年(57)

分类: Oracle

2013-12-02 11:02:57

自动共享内存管理,10g中,只要设置SGA_TARGET参数大于0,就可以启用自动共享内存管理,如果该参数为0,则禁用自动共享内存管理。
自动共享内存管理,包括以下SGA的组成部分:
db_cache_size
shared_pool_size
large_pool_size
java_pool_size
 
以下SGA的组成部分,需要手动调节:
log buffer
keey/recycle buffer pool
非标准块的buffer cache
streams pool
ASM存储管理的buffer cache
 
从SGA_TARGET中分配内存的一些重要规则:
 
1.SGA_TARGET大小需要在SGA_MAX_SIZE范围内,如果需要设置得更大,同时也需要增大SGA_MAX_SIZE。
2.SGA_TARGET中要扣除fixed-size SGA结构的开销
3.需要扣除一些需要手动设置的SGA区大小,例如log_buffer,keep/recycle池,这些部分也在SGA中。
4.剩下的共享内存在可动态分配的4个组成部分之间分配。
5.如果自动调节的参数分配了非0值,那么该值就是自动调节时的最小值。
6.自动调节的参数,会在spfile中生成一个最小值,以便下次重启时,快速地调节成合适系统运行的情况。
 
通过V$SGA_DYNAMIC_COMPONENTS视图,可以查看到自动调节部分当前的内存大小。
 
SQL> select component,current_size from V$SGA_DYNAMIC_COMPONENTS;
 
COMPONENT                      CURRENT_SIZE
------------------------------ ------------
shared pool                       138412032
large pool                          4194304
java pool                           4194304
streams pool                              0
DEFAULT buffer cache              373293056
KEEP buffer cache                         0
RECYCLE buffer cache                      0
DEFAULT 2K buffer cache                   0
DEFAULT 4K buffer cache                   0
DEFAULT 8K buffer cache                   0
DEFAULT 16K buffer cache                  0
DEFAULT 32K buffer cache                  0
ASM Buffer Cache                          0
阅读(815) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~