ITPub博客

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

SGA

原创 Linux操作系统 作者:zhuanshijin 时间:2013-02-02 00:07:41 0 删除 编辑
oracle的内存分为两部分 sga和pga
SGA
1、SGA有以下6部分组成
data buffer cache
shared pool
large pool
java pool
streams pool
log buffer
以前以上每一个都有对应的参数,从10g开始简化了对sga的管理
提供一个参数sga_target 如果等于0是手动管理5个参数的值
如果>0就可以自动管理,除了 log buffer不能自动管理
 
2、SGA相关视图
//可以查出个每个部分的使用大小
select * from v$sga_dynamic_components;

//有没有空闲内存可以查询
select * from v$sga_dynamic_free_memory;
 
//查询当前自动调整的动作
select * from v$sga_current_resize_ops;

//调整完之后的值存储在下表中
select * from v$sga_resize_ops

//SGA的信息视图
select * from v$sgainfo;
可以看出分配内存粒度单位
其中startup overhead in shared pool 和process参数有关。
 
//SGA的使用情况,非常重要的一个视图,显示每个池的使用细节
select * from v$sgastat;
 
3、SGA相关参数
//实例起来的时候就要从数据库获取内存
SQL> show parameter sga
NAME                                 TYPE        VALUE
------------------------         ------------ -----------
lock_sga                             boolean     FALSE
pre_page_sga                         boolean     FALSE
sga_max_size                         big integer 160M
sga_target                           big integer 160M
//起来的时候读sga_max_size
SQL> alter system set sga_max_size=300 scope=spfile;
//9i引入sga_max_size最大能分配多少,是静态参数不能直接修改,需要重启数据库才能生效,修改完内存和进程是需要从操作系统申请,必须重启才生效。
//sga_targe是一个动态参数,当前最大使用的大小,修改完立即生效,不用重启实例,有了sga_max_size,sga_targe才能是一个动态参数,缺一不可,优点显而易见。
//pre_page_sga预分配,如果设置为true,oracle起来的时候就会分配最大值
//lock_sga  当操作系统内存不足的时候,交换分区,虚拟内存,当内存不足时会多拿出交换出去,如果是true会锁定sga,不交换出去,目前windows系统不支持。
SQL> show parameter sga
NAME                                 TYPE        VALUE
------------------------------------ ----------- ----------
lock_sga                             boolean     FALSE
pre_page_sga                         boolean     FALSE
sga_max_size                         big integer 160M
sga_target                           big integer 160M
//比如目前process不是动态的,依赖于内存,起来之后要评估消耗多少内存。
SQL> show parameter process
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------
aq_tm_processes                      integer     0
db_writer_processes                  integer     1
gcs_server_processes                 integer     0
job_queue_processes                  integer     10
log_archive_max_processes            integer     2
processes                            integer     50

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

上一篇: rman_list命令列举
请登录后发表评论 登录
全部评论

注册时间:2012-12-19

  • 博文量
    14
  • 访问量
    48656