1、关于修改solaris10内核参数问题。。错误ORA-27102 "Out of Memory" 。。
之前在HP-UX和AIX系统上,安装oracle时,都有提到过修改OS内核参数的问题。主要是增大内存需求。。oracle在安装或启动、运行时,应该都是比较耗内存的。。
但在solaris中却没有进行内核参数修改。。
问题描述及解决:在solaris2中已经正常运行orcl数据库,想再建一个orcl1,供备份测试用,但用dbca刚执行建立,就会报out of memory错误,,忽略后直接ORA-1034 ORACLE not available,就终止操作了。。
然后就在solaris1中,建库试试,solaris2和solaris1两台机器硬件配置及OS和oracle版本均完全相同。。solaris1中原来没有库,只是安装了数据库软件,然后在solaris1中成功建立了orcl1库,然后接着建立了orcl2库,sga均是自动的,并设置为最低值(为OS内存的11%)【不过em没有建成功,报错,不知为何,,先没管。。见附图。。】。。
最后在solaris2中,按照网上所说,用root用户在/etc/system文件中加入下列内容:
set noexec_user_stack=1
set semsys:seminfo_semmni=100
set semsys:seminfo_semmns=25600
set semsys:seminfo_semmsl=256
set semsys:seminfo_semvmx=32767
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmseg=10
然后重启reboot,再次用oracle用户建库orcl1,dbca建库成功!接着建立orcl2再次成功。(orcl1和orcl2均是采用的最新sga 11%)后来又把上述参数去掉了,重启后再试试看。。结果,原先的orcl都不能启动了(同样报out of memory错误)。。且dbca也无法再建库了。。但orcl1和orcl2都能成功启动(应该是sga分配较小的缘故)。。
再次在/etc/system中加入上述参数设置,一切OK,问题解决。
结论证明:上述内核参数的修改是必须且重要的。否则默认的内存设置,已经有一个启动的数据库实例,且该实例sga较大的话,再进行dbca或者再打开另一个数据库时,都会造成oracle内存不够用,报错out of memory。。在solaris1机器上做测试时没有遇到out of memory错误是由于建立的测试库所分配的sga都很小(下限值11%),,故没有测出问题。。而solaris2中已运行的orcl库貌似当初建库时分配的sga内存空间较大。。。
转载于:https://blog.51cto.com/alinazh/1280329