SGA about 10g

本文介绍了Oracle数据库系统全局区(SGA)的组成及其关键参数SGA_MAX_SIZE与SGA_TARGET的作用。探讨了如何通过这些参数实现SGA内存的自动管理,并展示了如何查看SGA各部分的内存分配情况。
SGA组成:
数据缓冲区(Database buffer cache)、重做日志缓冲区(Redolog buffer)、共享池(Shared pool)、大型池(Large pool)、JAVA池(Java pool)、流池(Streams pool)


2个重要的参数:
SGA_MAX_SIZE:SGA最大使用内存,不一定是SGA实际使用内存
SGA_TARGET:控制SGA自动内存管理,SGA_TARGET必须小于或等于SGA_MAX_SIZE,为SGA_TARGET分配空间后(sga_target>0),其可以自动调整SGA中相关参数的设置,包括DB_CACHE_SIZE,SHARED_POOL_SIZE,JAVA_POOL_SIZE,LARGE_POOL_SIZE,STREAMS_POOL_SIZE


禁用SGA内存自动管理: ALTER SYSTEM SET SGA_TARGET=0;
启用SGA内存自动管理: ALTER SYSTEM SET SGA_TARGET=200M;ALTER SYSTEM SET STATISTICS_LEVEL=DYNAMIC;


注:statistics_level初始化参数值分为 ALL, TYPICAL, BASIC,设置为TYPICAL或ALL时,收集统计信息,确保Oracle有相关的统计信息,来帮助分配SGA各部分内存


在设置SGA中各部分内存时,Oracle都是以一种称为粒度(Granule)的单位进行分配或回收,粒度大小不能由DBA修改,依据SGA与OS自动分配。
当SGA<1G时,粒度单位=4MB,SGA>1G时,粒度单位=16MB或8MB(Windows 32Bit),在设置db_cache_size等大小时,值应为粒度的整数倍,否则SGA会自动调整


SQL> select component,granule_size/1024/1024 from v$sga_dynamic_components where component='large pool';


COMPONENT                      GRANULE_SIZE/1024/1024
------------------------------ ----------------------
large pool                                          4


SQL> alter system set large_pool_size=11M;


系统已更改。


SQL> show parameter large_pool_size


NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
large_pool_size                      big integer 12M


查看SGA内存分配情况
SQL> show sga


Total System Global Area  289406976 bytes
Fixed Size                  1248600 bytes
Variable Size             117441192 bytes
Database Buffers          167772160 bytes
Redo Buffers                2945024 bytes


SQL> select * from v$sga;


NAME                      VALUE
-------------------- ----------
Fixed Size              1248600       --系统固定占用的部分,存储数据库和实例的状态信息
Variable Size         117441192       --包括Large pool,Java pool,Shared pool,Streams pool
Database Buffers      167772160       --数据缓冲区大小
Redo Buffers            2945024       --重做日志缓冲区大小


SQL> select * from v$sgainfo;
(displays size information about the SGA,including the sizes of different SGA components,the granule size,and free memory.)


NAME                                  BYTES RES
-------------------------------- ---------- ---
Fixed SGA Size                      1248600 No
Redo Buffers                        2945024 No
Buffer Cache Size                 167772160 Yes
Shared Pool Size                   67108864 Yes
Large Pool Size                    12582912 Yes
Java Pool Size                      4194304 Yes
Streams Pool Size                   4194304 Yes
Granule Size                        4194304 No
Maximum SGA Size                  289406976 No
Startup overhead in Shared Pool    33554432 No
Free SGA Memory Available          29360128


SQL> select * from v$sgastat where rownum<10;  
(displays detailed information on the system global area (SGA).)


POOL         NAME                            BYTES
------------ -------------------------- ----------
             fixed_sga                     1248600
             buffer_cache                167772160
             log_buffer                    2945024
shared pool  dpslut_kfdsg                      256
shared pool  hot latch diagnostics              80
shared pool  ENQUEUE STATS                    8360


SQL> select current_size/1024/1024 from v$sga_dynamic_free_memory;
(displays information about the amount of SGA memory available for future dynamic SGA resize operations.)
CURRENT_SIZE/1024/1024
----------------------
                    28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值