ORA-27125: unable to create shared memory segment

报错:
ORA-27125: unable to create shared memory segment
Linux-x86_64 Error: 1: Operation not permitted

 

os:centos6.3
oracle:10.2.0.3.0


例子:

RMAN> startup nomount;

startup failed: ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/oracle/app/oracle/product/10.2.0/db_1/dbs/initskate.ora'

starting Oracle instance without parameter file for retrival of spfile
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of startup command at 01/06/2013 14:05:46
RMAN-04014: startup failed: ORA-27125: unable to create shared memory segment
Linux-x86_64 Error: 1: Operation not permitted

 

google下,发现这和linux的hugepage有关,我的版本是centos6.3,可能在创建共享段时需要用到hugepage,有权限限制,解决方法

[root@localhost oradisk]# id oracle
uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba)
[root@localhost oradisk]#

 

用root执行下面的命令,将dba组添加到系统内核中

[root@localhost oradisk]# echo 501 > /proc/sys/vm/hugetlb_shm_group

 

这样启动数据库,问题消失;但是如果系统重启了,还需要执行上面的命令,治标不治本。一劳永逸的办法就是修改文件sysctl.conf,方法如下:

[root@localhost oradisk]# vi /etc/sysctl.conf 
....
vm.hugetlb_shm_group  = 501
....

[root@localhost oradisk]# sysctl -p

 

 

 

参考:http://wiki.debian.org/Hugepages

你可能感兴趣的:(ORA-27125: unable to create shared memory segment)