Welcome 微信登录

首页 / 数据库 / MySQL / Oracle show sga产生的结果研究

用show sga可以查看SGA的大小,show sga的结果都有如下的格式:Total System Global Area AAAAA bytesFixed Size BBBBB bytesVariable Size CCCCC bytesDatabase Buffers DDDDD bytesRedo Buffers EEEEE bytes这里给出一台测试上Oracle实例的sga信息:Total System Global Area  369098752 bytes
Fixed Size                  1219496 bytes
Variable Size             171967576 bytes
Database Buffers          188743680 bytes
Redo Buffers                7168000 bytes其中各部分的含义如下:Fixed Size: 这部分是Oracle内部使用的一个区,Oracle通过这个区找到SGA其他区,类似一个SGA各个组件的索引,不同平台和不同版本下这部分的大小可能不一样。Variable Size: 包括 shared pool ,java pool ,large pool, 管理db_block_buffers 的内存、管理控制文件信息的内存等等,其他管理和控制Oracle 内部结构的内存[这部分通常被称为Overhead],也就有了如下的公式:Variable Component(Show SGA) = Shared Pool + Large Pool + Java Pool + Overhead + Free Memory(9i 之前的版本)Overhead的大小受如下初始化参数的影响:db_files, open_cursors ,processes ,具体算法未知。Database Buffers: 为db_cache_size、db_keep_cache_size、db_recycle_cache_size、 db_nk_cache_size的总大小,当然这是sga_target为0的情况,也就是手动SGA管理模式下,如果是自动SGA管理(sga_target>0),则这个值根据sga的分配情况自动进行调整。Redo Buffers:这部分是实际分配的Redo log buffer的大小,由初始化参数log_buffer根据SGA的最小分配单位granule 向上取整得到。这里给出一个测试数据库实例的log_buffer参数大小:SQL> show parameter log_buffer;NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_buffer                           integer     7057408实际的Redo log buffer大小也可以通过v$sgastat视图查看,和show sga命令是同样的结果:SQL> select * from v$sgastat where name="log_buffer";POOL         NAME                            BYTES
------------ -------------------------- ----------
 log_buffer                    7168000因为这里sga为352MB<1G,所以granule为4MB,也可以通过以下命令查询获得:SQL> select * from v$sgainfo where name = "Granule Size";NAME                                  BYTES RES
-------------------------------- ---------- ---
Granule Size                        4194304 No缺省的SGA中的Fixed Size将和log_buffer共享整数倍的granule:SQL> select (1219496 +7168000)/4194304 from dual;(1219496+7168000)/4194304
-------------------------
1.99973488因为精确度也只到字节,所以比值也有可能有误差。Oracle Redo Log Buffer的大小设置Oracle密码文件相关资讯      Oracle教程 
  • Oracle中纯数字的varchar2类型和  (07/29/2015 07:20:43)
  • Oracle教程:Oracle中查看DBLink密  (07/29/2015 07:16:55)
  • [Oracle] SQL*Loader 详细使用教程  (08/11/2013 21:30:36)
  • Oracle教程:Oracle中kill死锁进程  (07/29/2015 07:18:28)
  • Oracle教程:ORA-25153 临时表空间  (07/29/2015 07:13:37)
  • Oracle教程之管理安全和资源  (04/08/2013 11:39:32)
本文评论 查看全部评论 (0)
表情: 姓名: 字数