ORACLE数据库内存参数设大于8G的内存启动出错问题解决

来源:互联网 发布:post传递数组参数 编辑:程序博客网 时间:2024/04/28 18:21
ORACLE数据库内存参数设大于8G的内存启动出错问题解决  4个INTEL 1.6g 4核CPU,16G 内存,安装完ORACLE 10G FOR RED HAT LINUX-64UPDATA4X86-64  准备导数据进去,顺手修改了几个参数。
alter system set sga_max_size=11g scope=spfile;
alter system  set sga_target=11g scope=spfile;
谁知启动报错
startup
ORA-27102: out of memory
Linux-x86_64 Error: 28: No space left on device
上网查了一下,没有查到,估计和linux的内核参数设置有关
检查LINUX的内核参数设置
kernel.shmall = 2097152
kernel.semmsl= 250
kernel.semmns=32000
kernel.shmmax = 8589934592         
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
怀疑
kernel.shmmax = 8589934592设得不够大

kernel.shmmax =17179869184
重启后仍然出错
上网找到一篇文章说到ORA-27102: out of memory
和kernel.sem的内存段设置大小有关,将
kernel.sem = 500 64000 100 128
重启后仍然出错
上网了一下LINUX的参数的意义,发现kernel.shmall是可用共享内存段,下面这儿有详细说明
http://www.redhat.com/docs/manuals/database/RHDB-2.1-Manual/admin_user/kernel-resources.html
kernel.shmall = 2097152  LINUX一个页面是4K 就是 2097152*4k/1024/1024 = 8G ,明显太小
算了一下16G=4194304
将kernel.shmall = 4194304
将这个参数改过来,重启后,再启动数据库就没有问题了
原创粉丝点击