在看contents 时http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/memory.htm#i12483在这个
Automatic Shared Memory Management
下面
Consider a manual configuration in which 1 GB of memory is available for the SGA and distributed to the following initialization parameters:SHARED_POOL_SIZE=128M
DB_CACHE_SIZE=896M为什么把sga设置成1G,SHARED_POOL_SIZE=128M,DB_CACHE_SIZE=896M这两个就是1G了,那sga其它组件呢,
如
rede log buffer
LARGE_POOL_SIZE
是多大呢,全为0吗
这是为什么,看有些书有这样,只考虑到SHARED_POOL_SIZE,DB_CACHE_SIZE的大小,难道是因为这两个是主要的吗
Automatic Shared Memory Management
下面
Consider a manual configuration in which 1 GB of memory is available for the SGA and distributed to the following initialization parameters:SHARED_POOL_SIZE=128M
DB_CACHE_SIZE=896M为什么把sga设置成1G,SHARED_POOL_SIZE=128M,DB_CACHE_SIZE=896M这两个就是1G了,那sga其它组件呢,
如
rede log buffer
LARGE_POOL_SIZE
是多大呢,全为0吗
这是为什么,看有些书有这样,只考虑到SHARED_POOL_SIZE,DB_CACHE_SIZE的大小,难道是因为这两个是主要的吗
日志缓冲区一般都比较小,也就1到2M的样子,
这两个是不是被忽略了
DB_CACHE_SIZE是SGA中的一部分,而整个SGA推荐小于1/2 Memory,如果设置过大,超出物理内存数量,为大量使用虚拟内存,性能会大大地下降
自动调优的SGA参数:目前这些参数包括DB_CACHE_SIZE、SHARED_POOL_SIZE、LARGE_POOL_SIZE和JAVA_POOL_SIZE。 手动SGA参数:这些参数包括LOG_BUFFER、STREAMS_POOL、DB_NK_CACHE_SIZE、DB_KEEP_CACHE_SIZE和DB_RECYCLE_CACHE_SIZE。
这里我的个人理解是,10g里ASMM里,推荐的是sga_target的配置,这个是sga的总共大小,ASMM可以根据统计的数据来合理的分配sga里的各个组件的大小,
包括
shared_pool_size
java_pool_size
large_pool_size
db_cache_size如果我们手动设置了下面组件的值
例如
db_cache_size=896M
shared_pool_size=128M
这里表示,至少给db_cache_size分配896M,给shared_pool_size 128M,这样也就是等于给了sga1G的至少值。你话里提到的sga并不是指的sga_target,这只是个目标值而已,而是指的真正的sga区域。物理上的sga==================================================================
Inthirties关注Oracle数据库 维护 优化,安全,备份,恢复,迁移,故障处理如果你需要帮助或想和我一起学习的请联系
联系方式QQ:370140387
电子邮件:[email protected]
网站: http://www.inthirties.com
你去设“SHARED_POOL_SIZE=128M,DB_CACHE_SIZE=896M这两个就是1G了”,是会报错的。根本不会让你设。
以前听过讲师说过:
Redo log buffer :占内存较小2-4M..Java pool :在中间件设置,很少使用Large pool (optional) :与数据备份设置大块时比较好,此时可设置大些Streams pool :高可用性,使用较多