li
  当前位置:主页 > 性能优化 > 文章内容
li
ORACLE SGA_MAX_SIZE与SGA_TARGET
来源: www.ixdba.net  作者: Oracle+Linux专业技术门户    时间:2008-09-11   阅读:217  
本文章共7658字,分5页,当前第1页,快速翻页:
 

OracleSGA包括以下几个部分,可以通过show sga命令或者是通过查看v$sga视图来查看SGA的大概组成:

17:39:48 SQL> show sga

Total System Global Area 1048576000 bytes

Fixed Size                  1223392 bytes

Variable Size             847250720 bytes

Database Buffers          192937984 bytes

Redo Buffers                7163904 bytes

 

17:42:05 SQL> select * from v$sga;

NAME                                   VALUE

------------------------------ -------------

Fixed Size                        1223392.00

Variable Size                   847250720.00

Database Buffers                192937984.00

Redo Buffers                      7163904.00

www.ixdba.net


     从上面可以大致的看到sga包括一个固定区,一个可变区,一个数据库缓存和一个redo缓存。这些是比较笼统的信息,具体的SGA是由以下几个部分组成的:

- 数据缓冲(Buffer Cache

- 共享池(Shared Pool

- 大池(Large Pool

- Java池(Java Pool

- 流池(Streams Pool --- 10g以后才有)

- 重做日志缓冲(Redo Log Buffer

- 其他buffer caches(如KEEP, RECYCLE, and other block sizes cache等)

- Fixed SGA and other internal allocations

     其中,Shared PoolJava PoolLarge PoolStreams Pool这几块内存区的大小是相应系统参数设置而改变的,所以有通称为可变SGAVariable SGA)。最后一个fixed sga部分,一般是在实例启动以后就固定在sga中了,是不会发生变化的,这个部分的区域一般小于100k

     理解了SGA的组成以后,下面就来解释一下有关设置SGA大小的两个参数SGA_MAX_SIZESGA_TARGET的含义。

    SGA_MAX_SIZE

     这个参数顾名思义,它用来控制SGA使用虚拟内存的最大大小,这里的虚拟内存的含义可能会有所模糊,先可以这样理解,就是Oracle所能在内存中给SGA分配的最大大小

现在来解释一下我这里“虚拟内存”的含义,确切的应该这样说:实际内存和虚拟内存。我们知道当OS中实际内存不够使用的时候,OS就会去使用虚拟内存。oracle是运行与os之上的一个系统软件,它也是一个程序,它所请求os给它多少内存用来作为其sga(比方说Oracle申请500M内存用作SGA,即SGA_MAX_SIZE=500M),os一般是不会在oracle启动的时候就给它全部的实际内存,而可能只给200M。随着程序的运行,Oracle不断的需要内存,而假设计算机的所有实际内存只有500M,那么很肯定的是OS不可能把全部500M实际内存分配给oraclesga,可能也最多就给了350M,剩下的150M使用虚拟内存。



阅读更多内容1 · 2 · 3 · 4 · 5 · 下一页>>


  上一篇: Oracle Server专有模式和共享模式...   下一篇: oracle "Alter System" 含义
li
 §相关评论  
 热点文章

·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 编辑推荐
·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 相关篇章
·Oracle Server专有模式和共享模式...
·Oracle DBA的UNIX 袖珍参考手册之...
·Oracle DBA的UNIX袖珍参考手册之...
·Oracle DBA的UNIX袖珍参考手册之...
·Oracle DBA 的 UNIX 袖珍参考手册...
·Oracle DBA 的 UNIX 袖珍参考手册...
·Oracle DBA 的 UNIX袖珍参考手册...
·Oracle DBA 的 UNIX 袖珍参考手册...
·oracle保护共享资源的锁定机制En...
·"log file sync" 等待事件
·oracle "Alter System" 含义
·oracle10G突然断电后出現ORA-0021...
·如何通过oracle系统进程查找正在...
·oracle ORA-00001错误的解决
·通过JDBC连接Oracle数据库的十大...
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接