首页 > Linux操作系统 > Linux操作系统 > ORA-27125:unable to create shared memory segment 解决方法

ORA-27125:unable to create shared memory segment 解决方法

原创 Linux操作系统 作者:听海★蓝心梦 时间:2013-11-13 12:40:53 0 删除 编辑

在Oracle Linux 6.2 上安装Oracle, 在安装软件的时候就忽略很多告警和确认信息。在dbca 建instance的时候,又遇到了:

ORA-27125:unable to create shared memory segment


rac2:/u02> oerr ora 27125

27125, 00000, "unable to create sharedmemory segment"

// *Cause: shmget() call failed

// *Action: contact Oracle support




[root@dbsrv ~]# id oracle

uid=500(oracle) gid=501(oinstall)groups=501(oinstall),502(dba),503(asmadmin),504(oper)

[root@dbsrv ~]# more/proc/sys/vm/hugetlb_shm_group




[root@dbsrv ~]# echo 502 >/proc/sys/vm/hugetlb_shm_group

--这里的502 是上面的id 命令查看出来的。

[root@dbsrv ~]# more /proc/sys/vm/hugetlb_shm_group     



因为我dbca的进程没有退出,直接执行最后一步,点finish继续建库。成功建立实例。 如果遇到实例名以存在的提示,删除/etc/oratab 中对应的记录即可。



hugetlb_shm_group 说明:

hugetlb_shm_group contains group id that isallowed to create SysV shared memory segment using hugetlb page

When a process uses some memory, the CPU ismarking the RAM as used by that process. For efficiency, the CPU allocate RAMby chunks of 4K bytes (it's the default value on many platforms). Those chunksare named pages. Those pages can be swapped to disk, etc.

Since the process address space are virtual, the CPU and the operating systemhave to remember which page belong to which process, and where it is stored.Obviously, the more pages you have, the more time it takes to find where thememory is mapped. When a process uses 1GB of memory, that's 262144 entries to lookup (1GB / 4K). If one Page Table Entry consume 8bytes, that's 2MB (262144 * 8)to look-up.

Most current CPU architectures support bigger pages (so the CPU/OS have lessentries to look-up), those are named Huge pages (on Linux), Super Pages (onBSD) or Large Pages (on Windows), but it all the same thing.



来自 “ ITPUB博客 ” ,链接:,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录


  • 博文量
  • 访问量