解决内存设置过大导致实例无法启动ORA-27100

上周在安装一台新设备的之后,由于操作失误多在参数值多加了个0,导致SGA_MAX_SIZE和SGA_TARGET设置的值超大,在重启数据库的时候提示ORA-27100: shared memory realm already exists,该错误的解释如下:

ORA-27100:
    shared memory realm already exists
Cause:    Tried to start duplicate instances, or tried to restart an instance that had not been properly shutdown
Action:    Use a different instance name, or cleanup the failed instance's SGA
环境配置:windows2003 +oracle 10.2.0.1

知道原因之后,解决办法就是修正正确的参数值,办法就是使用备份的pfile来启动实例和打开数据库,但是处理过程中有些细节需要注意的,在此记录下。
首先,出现在这个错误之后,我首先想到的是参数设置错误了,因此尝试使用pfile来启动实例,但是还是继续报错,是在不解,于是重启机器,之后再次尝试还是无果;
windows2003的环境,安装之后默认的服务启动方式没有改变,是自动启动的,在重启之后尝试也还是报错,于是就想到应该把自启动改成手工启动,再次重启机器之后使用pfile启动实例成功(当然需要把spfile从原位置移开,方法有很多),随后再次进行参数调整即可,整个过程还算顺利,因为在操作前对参数文件进行了备份,因此对该问题的处理还是比较顺利。
事后分析了下原因,为什么在第1次报错以及重启之后还是无法使用pfile启动实例,我的猜测是:由于在使用错误的参数尝试启动实例和打开数据库失败之后,已经有相关的信息写入到系统或者内存信息中,这个时候如果不进行重启系统,是无法错误加载的信息清理干净掉的,因此处理过程中重要的操作就是要重启操作系统(这也是win系统的悲催,在linux下测试过,是没有这个问题的)。
-The End-


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值