- 论坛徽章:
- 0
|
ORACLE 8.1.7 版本
SGA=((db_block_buffers*block size)+(shared_pool_size+large_pool_size+java_pool_size+log_buffers)+1MB
理论上SGA可占OS系统物理内存的1/2——1/3,我们可以根据需求调整
推荐SGA=0.45*(OS RAM)
假设服务器运行ORACLE 8.1.7 版本, OS系统内存为1G MEM, db_block_size 是8192 bytes,
除了运行ORACLE数据库外, 没有其它的应用程序或服务器软件.
这样SGA合计约为460M ( 0.45*1048M ),
设shared_pool_size 100M (100*1024*1024 bytes)
设database buffer cache 300M (38400*8192 bytes) (8192bytes是计算database buffer cache的一个系数)
Oracle的安装目录,oracle\admin\ora\pfile\init.ora文件里具体各参数如下:
shared_pool_size = 104857600 (设置数据库的共享内存)
# 100 M
db_block_buffers = 38400 (设置数据库的高速缓存)
# 300 M
log_buffer = 262144 (日志Buffer log_buffer是ORACLESGA的一部分,所有DML命令修改的数据块先放在log_buffer里,如果满了或者到了check_point时候通过lgwr后台进程写到redologfile里去。它不能设得太大,这样在意外发生时会丢失很多改变过的数据。它最好不要大于512K或者128K*CPU个数。)
# 256k (128K*CPU个数)
large_pool_size = 31457280 (默认)
# 30 M
java_pool_size = 20971520 (默认)
# 20 M
sort_area_size = 524288 (Oracle排序区)
# 512k (65k--2M)
sort_area_retained_size = 524288
此参数说明了oracle排序的最大内存数。排序完成,当行返回之前,oracle按参数sort_area_retained_size给定的值释放内存;当所有的行全部返回后,oracle将内存全部释放。 |
|