oracle关闭数据库时没反应的处理案例
上次给客户维护一套数据库时,需要关闭数据库,做硬件相关维护,在关闭数据库用
shutdown immediate时,长时间没反应,一直停在那里,以下是具体检查过程:
oracle@p570b$ps-ef|grep ora oracle 127192 1 0 19:13:41 - 0:09 ora_dbw6_oracle9i oracle 180422 1 0 19:13:41 - 0:08 ora_pmon_oracle9i oracle 225470 164648 0 10:26:12 pts/4 0:00 grep ora
oracle 69902 221556 0 09:47:48 pts/0 0:00 -ksh
oracle 213284 1 0 19:13:41 - 0:11 ora_dbw3_oracle9i oracle 152238 1 0 19:13:41 - 0:00 ora_arc0_oracle9i oracle 160492 1 0 19:13:41 - 0:31 ora_lgwr_oracle9i oracle 164556 1 0 19:13:41 - 1:28 ora_dbw0_oracle9i oracle 168472 136050 0 10:20:13 pts/2 0:00 -ksh oracle 180922 1 0 10:25:56 - 0:00 sleep 60 oracle 后台进程全部在
2. 检查数据库后台日志 Sun Apr 24 10:21:51 2011 Shutting down instance: further logons disabled Shutting down instance (immediate) License high water mark = 208 Sun Apr 24 10:26:52 2011 Active call for process 214688 user 'oracle' program'oracle@p570b(J000) SHUTDOWN: waiting for active calls to complete.
从上面日志可以看出 shutdown 命令在等待J000后台进程,完成相关操作。
3.检查J000进程 ps -ef|grep j000 oracle 214688 1 120 22:59:56 - 671:22 ora_j000_oracle9i 是job进程,可以看出这个job运行10个多小时。
杀调J000 job 进程
kill -9 214688
数据库就很顺利的关闭。
总结:数据库外部连接进程全部关闭后,如果数据库关闭还没反应,一般与job进程还在运行有关, 关闭job进程即可。
|