【数据库版本10.2.0】
问题描述:
因需正常重启数据库,在用脚本停数据库的过程中hung住(长时间等待并无反应),先用尝试用脚本停数据库,hang住之后,尝试终止,后续sqlplus下:shutdown immediate再次尝试关闭数据库。
后续查看数据库alert.log
其中有如下信息:
处理过程:
kill -9 7065886此进程之后,数据库正常关闭。
(unix和linux系统中,通过ps -ef |grep xxx ,后续查看alert中对应进程是否标识:LOCAL=NO,将其kill掉,清除客户端的链接)
原因分析:
此问题是由于oracle数据库关闭时需要pmon去清掉后台进程,但是pmon无法清除这些进程(以上的无法清除的进程)的时候,就会造成数据库在正常关闭时hang住,手工kill掉这些进程,可以帮助清理掉这些客户端进程并释放相应的资源 ,此操作会有以下的效果:
1任何未提交的事务都将回滚;2临时空间会得到释放;3会话占用的内存空间得到释放;4系统中的锁得到清除。数据库后续得以正常关闭。
官方解释:Doc ID 1039389.6
(以上解释如有不适以及错误欢迎指出)