PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

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

原创
2016-06-07 17:09:16 1294浏览

在安装一台新设备的之后,由于操作失误多在参数值多加了个0,导致SGA_MAX_SIZE和SGA_TARGET设置的值超大,在重启数据库的时候提示

在安装一台新设备的之后,由于操作失误多在参数值多加了个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-

linux

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。