oracle安装完毕怎么启动不了,安装Oracle后数据库不能启动,出现ORA-27125错误

iamlaosong文

HP DL580G9安装RHEL6.6+Oracle11后因导入数据太慢无法使用,找到厂家,测试后表示硬件没有问题,所能做的就是升级BIOS。重新安装时选择的是RHEL6.6+Oracle10,Oracle安装也还顺利,安装后测试正常,只是第二天设置Oracle自启动时发现服务器重启后Oracle却无法启动了,错误是:

ORA-27125:unabletocreatesharedmemorysegment

好在网上有解决办法,按其办法,问题解决。

当初DL580G7安装RHEL5.5+Oracle10并没有出现不能启动的现象,而且下面提到的hugetlb_shm_group文件内容也是0,并不需要将其改为dba的组ID,数据库启动正常,不知道为什么,只能解释为环境变了,本服务器内存64G,而以前的G7是16G。

问题解决方法摘录如下:

在某些操作系统上,当启动数据库或者创建数据库时都可能出现ORA-27125错误,在Linux 6上安装Oracle 10.2.0.1,创建数据库时就遇到了这个错误。 这个错误的解决就是修改 /proc/sys/vm/hugetlb_shm_group 文件。

Oracle文档上关于ORA-27125错误的描述为: ORA-27125: unable to create shared memory segment Cause: shmget() call Failed Action: contact Oracle support

查询了一下,发现问题和linux上的hugetbl有关。 解决方法也很简单,首先检查oracle用户的组信息:

[oracle@yans1 ~]$ id oracle

uid=500(oracle) gid=502(oinstall) groups=502(oinstall),501(dba)

[oracle@yans1 ~]$ more /proc/sys/vm/hugetlb_shm_group 0

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

# echo 501 > /proc/sys/vm/hugetlb_shm_group 然后启动数据库,问题消失。

但以上这种方式在重启操作系统后失效, /proc/sys/vm/hugetlb_shm_group又变为了0,建议采用以下方式解决:

加入vm.hugetlb_shm_group = 501 到/etc/sysctl.conf中来解决:

# vi /etc/sysctl.conf

加入如下的内容,其中501为dba组号,需要根据你实际的情况进行改变。 vm.hugetlb_shm_group = 501

# sysctl -p 那么hugetlb_shm_group组是什么呢?以下是解释: hugetlb_shm_group contains group id that is allowed to create SysV shared memory segment using hugetlb page 这里反复提到了HugePage,以下是关于HugePage的说明和解释: When a process uses some memory,the cpu is marking the RAM as used by that process. For efficiency,the cpu allocate RAM by chunks of 4K bytes (it's the default value on many platforms). Those chunks are named pages. Those pages can be swapped to disk,etc. Since the process address space are virtual,the cpu and the operating system have 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 the memory is mapped. When a process uses 1GB of memory,that's 262144 entries to look up (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 less entries to look-up),those are named Huge pages (on Linux),Super Pages (on BSD) or Large Pages (on Windows),but it all the same thing.

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值