讲解Oracle SGA 的分配 - IT生活资讯网 - 专注IT精品资讯 关注IT生活 提供丰富有价值的IT教程 - TechFeel.Com

摩族智能手机社区 动力互联科技提供带宽支持

中国IDC圈

手机频道智能手机 电子书 铃声 主题 游戏  IDC主机托管域名 空间 邮局 托管

 
您的位置:首页 > 数据库 > Oracle >

讲解Oracle SGA 的分配

整理:互联网 来源:互联网我要收藏】 进入论坛 发布时间:2007-08-18 13:52:02

ORACLE 8.0.X 版本BAXTechFeel
BAXTechFeel
SGA=((db_block_buffers * block size)+(shared_pool_size+large_pool_size+log_buffers)+1MBBAXTechFeel
BAXTechFeel
ORACLE 8.1.X 版本BAXTechFeel
BAXTechFeel
SGA=((db_block_buffers * block size)+(shared_pool_size+large_pool_size+java_pool_size+log_buffers)+1MBBAXTechFeel
BAXTechFeel
理论上SGA可占OS系统物理内存的1/2——1/3,我们可以根据需求调整BAXTechFeel
BAXTechFeel
我推荐SGA=0.45*(OS RAM)BAXTechFeel
BAXTechFeel
假设服务器运行ORACLE 8.1.X 版本, OS系统内存为2G MEM, db_block_size 是8192 bytes, BAXTechFeel
除了运行ORACLE数据库外, 没有其它的应用程序或服务器软件.BAXTechFeel
BAXTechFeel
这样SGA合计约为921M ( 0.45*2048M ), BAXTechFeel
BAXTechFeel
设shared_pool_size 250M (250*1024*1024 bytes)BAXTechFeel
BAXTechFeel
设database buffer cache 620M (79360*8192 bytes)BAXTechFeel
BAXTechFeel
initorasid.ora文件里具体各参数如下:BAXTechFeel
BAXTechFeel
shared_pool_size = 262144000BAXTechFeel
# 250 MBAXTechFeel
BAXTechFeel
db_block_buffers = 79360BAXTechFeel
# 620 MBAXTechFeel
BAXTechFeel
log_buffer = 524288BAXTechFeel
# 512k (128K*CPU个数)BAXTechFeel
BAXTechFeel
large_pool_size = 31457280BAXTechFeel
# 30 MBAXTechFeel
BAXTechFeel
java_pool_size = 20971520BAXTechFeel
# 20 MBAXTechFeel
BAXTechFeel
sort_area_size = 524288BAXTechFeel
# 512k (65k--2M)BAXTechFeel
BAXTechFeel
sort_area_retained_size = 524288BAXTechFeel
# MTS 时 sort_area_retained_size = sort_area_sizeBAXTechFeel

SUN Solaris里/etc/system文件里的几个参数同样跟内存分配有关

ORACLE安装时缺省的设置:建议修改的设置:
set shmsys:shminfo_shmmax=4294967295 BAXTechFeel
set shmsys:shminfo_shmmin=1 BAXTechFeel
set shmsys:shminfo_shmmni=100 BAXTechFeel
set shmsys:shminfo_shmseg=15 BAXTechFeel
set semsys:seminfo_semmns=200 BAXTechFeel
set semsys:seminfo_semmni=70 BAXTechFeel
set ulimit=3000000
BAXTechFeel
set semsys:seminfo_semmni=315BAXTechFeel
set semsys:seminfo_semmsl=300BAXTechFeel
set semsys:seminfo_semmns=630BAXTechFeel
set semsys:seminfo_semopm=315BAXTechFeel
set semsys:seminfo_semvmx=32767BAXTechFeel
set shmsys:shminfo_shmmax=4294967295BAXTechFeel
set shmsys:shminfo_shmmni=315BAXTechFeel
set shmsys:shminfo_shmseg=10BAXTechFeel
set shmsys:shminfo_shmmin=1

其中这些参数的含义

shmmax - 共享内存段的最大字节数,建议设大点,甚至可以大过物理内存的字节数BAXTechFeel
shmmin - 共享内存段的最小尺寸.BAXTechFeel
shmmni - 共享内存段的最大数目.BAXTechFeel
shmseg - 每个进程可分配的最大共享内存段数目.BAXTechFeel
shmall - 最大的并发共享内存段数目,比SGA还要大.BAXTechFeel
semmns - 信号灯的最大数量,跟ORACLE的PROCESS数有关.BAXTechFeel
semmsl - 每个信号灯集合中最多的信号灯数目.

关键字: Oracle,SGA,分配

评论】【 】【打印】【关闭

※ 相关信息
发表评论
用户名: 密码:
验证码: 匿名发表
TechFeel.Com 旗下网站:  摩族智能手机网 | 中国教程在线 | 动力互联科技
网站留言关于我们 | 广告服务| 合作媒体 | 联系我们 | 免责声明网站地图
Copyright © 2005 - 2007 All Rights Reserved
冀ICP备 05024357