Oracle内存设置初始化参数

Oracle中内存的设置分为两种:自动管理内存,手动 管理内存。

本文摘自 涂抹Oracle》 【三思笔记一步一步学习Oracle】  。

一、自动管理
    自动管理只需要分别设置SGA和PGA即可。这两个值分别对应参数SGA_TARGET和PGA_AGGREGATE_TARGET,Oracle退出SGA_TARGET的本意是简化操作,提高易用性,提升性能,在某种程度上确实达到了这一目标。对中小型数据库可以让Oracle自动分配SGA。
  关于SGA、PGA于系统内存三者的关联,目前有一个相对通用的计算规则可供参考:

⊙ 对于OLTP数据库,SGA=系统内存*70%*80%,PGA=SGA*(10%~20%)。
⊙ 对于OLAP数据库,SGA=系统内存*80%*60%,PGA=SGA*(45%~65%)。

注意:对于32bit平台,默认情况下SGA最大可用内存有1.7GB的限制,也就是说在32bit平台中,即使为SGA分配了超过这个值的内存也是不可用的。
    
    对于一些超大型的数据库服务器都拥有数十G和百G的内存,这时候自动分配内存的效果不一定是最优的。

二、手动管理
⊙ 共享池:用来存放Library Cache,编译过的SQL、PL/SQL等内容,不能过大,否则有可能造成自身管理上负担,带来反效果。通常在300~500M之间比较适当,对应初始化参数值SHARED_POOL_SIZE。

⊙ 缓冲区高速缓存:数据库中数据从磁盘中读取后就存放在这个内存中,我们都知道在内存中数据的读写要比在磁盘中读写I/O速度要快N多倍。因此该值越大越好。所有空闲内存都可以分配给它。对应初始化参数:DB_CACHE_SIZE。

⊙ Java池: 如果数据库没java procedure或者没有选择Oracle JVM组件,该值设置为0也可以。如果有的话,该值也不需要很大。对应初始化参数:JAVA_POOL_SIZE。

⊙ 大型池:主要应用于直接路径的导入和导出、RMAN备份等。相对来说应用范围有限,不需要很大,一般在100M~200M即可。对应初始化参数:LARGE_POOL_SIZE。

⊙ PGA大小:对应初始化参数 PGA_AGGREGATE_TARGET。

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

转载于:http://blog.itpub.net/30260000/viewspace-1819695/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值