ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle 10g for solaris 10(x86),dbca建库out of memory处理

oracle 10g for solaris 10(x86),dbca建库out of memory处理

原创 Linux操作系统 作者:wisdomone1 时间:2009-04-05 00:13:43 0 删除 编辑

Out of Memory Problems on Oracle 10 / Solaris 10 ---修改内核参数

上一篇 / 下一篇  2008-12-19 16:13:43 / 个人分类:经验 & 总结

    在solaris上安装oracle之前,我们都会设置系统的内核参数,在solaris 9及之前,我们都是通过修改/etc/system文件来进行修改的,但是从solaris 10开始,这些内核参数称为“resource controle",是需要通过prctl命令进行更改,有些朋友可能还是按照solaris 9的方式进行更改,当数据库使用的内存较大时,由于没有正确设置,可能会引起"out of memory"的错误。
Dnt'|Q I"`*h;W0
ITPUB个人空间+o*y/COScT4u T9hD

    从solaris 10开始,对sem,shm的配置无法通过/etc/system文件来进行修改,更改方式如下:ITPUB个人空间&k3m.XFrc
1) 设置max-shm-memory的值为4GB:
0p"v't?/R N(fX0#projadd -U oracle –K "project.max-shm-memory=(priv,4096MB,deny)" user.oracleITPUB个人空间/JBTS9k+D7v tJ'\
查看设置是否生效:ITPUB个人空间bCs\1M\]
# cat /etc/project
0X4A'vB;Si-O.xrs0在project文件的末尾能够看到新增加的一行ITPUB个人空间X WM-Z D
user.oracle:100::oracle::project.max-shm-memory
H&@W I)nH0=(priv, 4294967296,deny)ITPUB个人空间9QO"o[1B,s

ITPUB个人空间0n#p7I"Y&j K X;a

2) 修改参数max-sem-idsITPUB个人空间s(Qb4uy2Gm
# projmod -s -K "project.max-sem-ids=(priv,256,deny)"  user.oracle


8K*`Y(h j0

检查修改是是否生效

查看是否生效ITPUB个人空间bl1G/m+^*_
# su - oracleITPUB个人空间b:^y8pC tM
$ prctl –i project user.oracle
n6\'e'H)\0project: 100: user.oracleITPUB个人空间4du i$YdL:|C
NAME    PRIVILEGE       VALUE    FLAG   ACTION RECIPIENTITPUB个人空间 `+L1Y"Ni(|;W
。。。。。。
.Ps0jpZe2oc0ITPUB个人空间c2K-d'm5v
project.max-shm-memory
p0[sLT0        privileged     4.00GB      -   deny           -ITPUB个人空间!L:Y.d4V eyq/n Du
        system          16.0EB    max   deny           -
1o.] \^f0project.max-shm-idsITPUB个人空间cPlUyfi(~|iE
        privileged        128       -   deny           -ITPUB个人空间;m;T+Z oz
        system          16.8M     max   deny           -
u'@kV0l0project.max-msg-ids
W Kc T5A,{&z0}~S(T0        privileged        128       -   deny           -
+a4e's8A_0        system          16.8M     max   deny           -
,?7U6k6k2?EU:vK0project.max-sem-ids
+{,f`"Z U&I"G0        privileged       256       -   deny           -ITPUB个人空间'z%`;d z~M1w2h
        system          16.8M     max   deny           -
J?y0]A6Y~+r0
gp4M)p/C2I0。。。。。。
kKQ O#Nm0
T5bB;lk0除了设置sem,shm参数外,还需要在/etc/system中增加noexec_user_stack参数ITPUB个人空间3w,z%rbf1s Sf
# cp /etc/system  /etc/system.orig
7@&A}9Lm%D X0Vi  /etc/systemITPUB个人空间ne poo
set noexec_user_stack=1
'y1f,w#b!r5[0set shmsys:shminfo_shmmax=4294967296ITPUB个人空间B9nm X#eWT
ITPUB个人空间.YFkhE}
经验:
p!|u p ZO.a s01. 在solaris 10上安装10g rac时,曾经碰到当SGA设置过大时,导致重其后,有一些资源需要手工启动,因此,oracle官方建议把shmmax的参数也加到/etc/system文件下(可见Doc id : 399895.1 from metalink)ITPUB个人空间y!` P,QV5bny
set noexec_user_stack=1
G9x C-m d^z9L0set shmsys:shminfo_shmmax=4294967295

2. oracle metalink上曾经有两份文档,一份设置shmmax为4g,另一个设置shmmax为6g,最后,oracle还是建议设置4g较适合

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

请登录后发表评论 登录
全部评论
提供针对oracle初学者及进阶的数据库培训,欢迎大家咨询: 微信: wisdomone 微信公众号: lovedb qq: 305076427 微博: wisdomone9

注册时间:2008-04-04

  • 博文量
    2149
  • 访问量
    11888244