테스트환경에서 우연찮게 발견한 현상이다.

OS: centos 5.6
oracle ver: 10.2.0.5

창을 두개 뜨우고 하나는 rman target / 로 접속했다.
다른 하나는 sqlplus 에서 shutdown immediate 를 실행했다.
아무리 시간이 지나도 shutdown이 되지 않는다.
얼럿로그에 다음과 같은 내용이 있다.

Shutting down instance (immediate)
Fri Mar 15 16:02:59 KST 2013
Shutting down instance: further logons disabled
Fri Mar 15 16:02:59 KST 2013
Stopping background process QMNC
Fri Mar 15 16:02:59 KST 2013
Stopping background process CJQ0
Fri Mar 15 16:03:01 KST 2013
Stopping background process MMNL
Fri Mar 15 16:03:02 KST 2013
Stopping background process MMON
License high water mark = 4
Fri Mar 15 16:03:03 KST 2013
Process OS id : 28767 alive after kill
Errors in file /oracle/admin/testdb/udump/testdb_ora_28754.trc
Fri Mar 15 16:03:06 KST 2013
Waiting for Job queue slaves to complete
Fri Mar 15 16:03:06 KST 2013
Job queue slave processes stopped
All dispatchers and shared servers shutdown

28767 OS process ID로 검색해보았다.
[oracle@centos5 testdb]$ ps -ef | grep 28767
oracle   28844 27374  0 16:04 pts/3    00:00:00 grep 28767
안나온다. rman target / 로 접속한걸 확인해봤다.
[oracle@centos5 testdb]$ ps -ef | grep rman
oracle   28789 27154  0 16:02 pts/2    00:00:00 rman target /
oracle   28861 27374  0 16:05 pts/3    00:00:00 grep rman

나온다. 하지만 PID가 틀리다.
트레이스파일 확인해보니
*** 2013-03-15 16:08:54.984
Process diagnostic dump for oracle@centos5.6x64 (TNS V1-V3), OS id=28796,
pid: 23, proc_ser: 2, sid: 144, sess_ser: 14
-------------------------------------------------------------------------------
loadavg : 0.98 0.76 0.40
Memory (Avail / Total) = 89.61M / 1504.47M
Swap (Avail / Total) = 2306.11M /  2306.20M
F S UID        PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
0 Z oracle   28796 28789  0  78   0 -     0 exit   16:02 ?        00:00:00 [oracle] <defunct>
 
계속 이 프로세스를 죽이려고 시도하고 있다.

해결방법: 결국 아래 두개 모두 같은 결과긴 하다.
1. rman 세션을 exit로 정상 종료한다.
2. ppid인 28789를 죽인다.

Posted by neo-orcl
,