ora_占用linux内存太大,解决内存设置过大导致实例无法启动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-0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值