广告一下,我专门给大家翻译外文IT参考资料,想学的,可以关注,也可以关注我个人自己建的博客:http://www.1024sky.cn
在Oracle Linux 6.1 上安装Oracle 10.2.0.1, 在安装软件的时候就是很曲折的过程,在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@rac2 ~]# id oracle
uid=500(oracle)
gid=501(oinstall)groups=501(oinstall),502(dba),503(asmadmin),504(oper)
[root@rac2 ~]# more/proc/sys/vm/hugetlb_shm_group
0
下面用root执行下面的命令,将dba组添加到系统内核中:
[root@rac2 ~]# echo 502 >/proc/sys/vm/hugetlb_shm_group
--这里的502 是上面的id 命令查看出来的。
[root@rac2 ~]# more
/proc/sys/vm/hugetlb_shm_group
502
然后重新DBCA,成功建立实例。如果遇到实例名以存在的提示,删除/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.
在 Oracle Linux 6.1 系统上安装 Oracle 10.2.0.1 的过程中遇到了 ORA-27125 错误,该错误是由于创建共享内存段失败导致的。解决方案是将 dba 组添加到系统内核的 hugetlb_shm_group 中。通过使用 `id` 命令获取 dba 组的 ID(这里是 502),然后执行 `echo 502 > /proc/sys/vm/hugetlb_shm_group` 添加组。完成此步骤后,重新运行 DBCA 成功创建实例。如果出现实例名已存在的情况,只需删除 `/etc/oratab` 中对应的记录。
3462

被折叠的 条评论
为什么被折叠?



