ITPub博客

首页 > Linux操作系统 > Linux操作系统 > null

null

原创 Linux操作系统 作者:bolary 时间:2013-03-03 10:54:37 0 删除 编辑

1、show sga 结果描述

SQL> show sga

Total System Global Area  629145600 bytes
Fixed Size                  1250572 bytes
Variable Size             352324340 bytes
Database Buffers          268435456 bytes
Redo Buffers                7135232 bytes
SQL> show parameter sga

NAME                                 TYPE        VALUE
------------------------------------ ----------- -----------
lock_sga                             boolean     FALSE
pre_page_sga                         boolean     FALSE
sga_max_size                         big integer 600M
sga_target                           big integer 0

Total System Global Area即为sga_max_size的大小

fixes size : oracle 的不同平台和不同版本下可能不一样,但对于确定环境是一个固定的值,里面存储了 SGA 各部分 组件 的信息,可以看作 引导 建立 SGA 的区域

Variable Size : 包括 shared pool ,java pool ,large pool, 管理DB_BLOCK_BUFFERS 的内存,管理控制文件信息的内存,等等其他管理和控制 oracle 内部结构的内存

2、SGA_MAX_SIZE与SGA_TARGET参数

sga_target是自动管理内存时使用的,这样你就不用设置DB_CACHE_SIZE,SHARED_POOL_SIZE等参数,他们会根据需要自动的进行调整的。SGA_MAX_SIZE是从oracle9i以来一直存在﹐是不可动态修改的。

 SGA_TARGET是oracle10g中用于实现自动SGA内存管理而新增加的。

SGA_MAX_SIZE指的是可动态分配的最大值﹐而SGA_TARGET是当前已分配的最大sga。

SGA_MAX_SIZE是不可以动态修改的﹔而SGA_TARGET是可动态修改﹐直到SGA_MAX_SIZE的值(当然这是在实例启动前已设定SGA_MAX_SIZE>SGA_TARGET的情况) 如果在实例启动时﹐SGA_MAX_SIZE < SGA_TARGET 或SGA_MAX_SIZE没设定﹐则启动后SGA_MAX_SIZE的值会等于SGA_TARGET的值。

3、使用sga_target参数有几点需要注意:

1. 当使用sga_target时, 若未设置sga_max_size,或设置了小于sga_target,则sga_max_size将等于sga_target.

SQL> show parameter sga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 152M
sga_target big integer 152M

 

2. 当sga_target是可动态调整的,但其值不能大于sga_max_size.

SQL> alter system set sga_target=160M; alter system set sga_target=160M * ERROR at line 1: ORA-02097: parameter cannot be

modified because specified value is invalid ORA-00823: Specified value of sga_target greater than sga_max_size

 

3.如果参数(如db_cache_size)和sga_target参数同时设置,那么参数db_cache_size是保底的值,需要超过这个值时由数据库动态分配.如果db_cache_size设置,而sga_target不设置,表示不使用oracle自动调整,db_cache_size就是设置的值,不再动态分配。

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

请登录后发表评论 登录
全部评论

注册时间:2013-02-26

  • 博文量
    6
  • 访问量
    7325