数据库无法启动,报错shared memory realm already exists

前几天遇到一个case,另一个项目组的数据库启动不了,报错如下:

看样子是操作系统hold住了数据库的内存,无法释放导致。尝试shutdown abort,看看是否能释放,数据库显示shutdown abort能操作,但是其实还是无法释放:

但ps -ef |grep ora_ 却看不到oracle的进程,看来只能重启操作系统来释放内存了。

不过,我们还是可以用另外一种方式在清除内存,重启数据库。

用ipcs检查oracle用户的内存段分配情况。(在这个案例中,oracle用户叫dbauat。)

我们看到还有2个内存段留在内存中了,这也是为什么数据库无法启动的原因,这2个内存段不释放的话,新instance的内存无法加载进去。

我们开始清理内存段和信号灯:

做完上述操作后,我们的数据库可以正常起来了:

相关文章

一条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据