지난 목요일에 아래와 같은 메시지가 뜨면서 접속이 되지 않았다.
[지난 포워딩 미리 확인]
ORA-12516: TNS:listener could not find available handler with matching protocol stack
http://hyunki1019.tistory.com/39
하지만 초당 몇 십MB ~ 몇 백MB 까지 끝임없이 리스너 로그에 14-JAN-2016 13:45:03 * nsevwait_error * 0와 같은 로그가 생기는 것에 대해서 확인이 되지 않아 결국 SR 를 오픈 하였다.
SR에서는 또 똑같은 답변만 왔다...
Process 를 증가 시키라는 내용...
Intermittent TNS-12516 or TNS-12519 or TNS-12520 errors when connecting via Oracle Net (Listener) ( Doc ID 240710.1 )
---------------------------------------------------------------------------------------------------------------------------------------------------
CAUSE
By way of instance registration, PMON is responsible for updating the listener
with information about a particular instance such as load and dispatcher
information. Maximum load for dedicated connections is determined by the
PROCESSES parameter. The frequency at which PMON provides SERVICE_UPDATE
information varies according to the workload of the instance. The maximum
interval between these service updates is 10 minutes.
The listener counts the number of connections it has established to the instance
but does not immediately get information about connections that have terminated.
Only when PMON updates the listener via SERVICE_UPDATE is the listener
informed of current load. Since this can take as long as 10 minutes, there can be
a difference between the current instance load according to the listener
and the actual instance load.
When the listener believes the current number of connections has reached maximum
load, it may set the state of the service handler for an instance to "blocked"
and begin refusing incoming client connections with either of the following
errors:
TNS-12516 TNS:listener could not find instance with matching protocol stack
TNS-12519 TNS:no appropriate service handler found
Additionally, an ORA-12520 error may appear in the listener log.
The output of the LSNRCTL services command will likely show that the service handler is "blocked".
e.g. '"DEDICATED" established:1 refused:0 state:blocked'
SOLUTION
Increase the pfile or spfile setting for PROCESSES.
그래서 다시 확인을 resource_limit 에는 process 수가 limit 까지 차지 않았다고 확인을 줬다..
SR의 마지막 답변이다.
일반적으로 PROCESSES 설정에 하나의 User Process 에서 파생되는 Parallel 작업이나,
Recursive SQL을 수행하기 위한 session fork 는 감안되어 있지 않습니다.
따라서, 숫자상으로 정확히 맞아 떨어 지지는 않습니다.
http://docs.oracle.com/cd/B19306_01/server.102/b14237/initparams169.htm#REFRN10175
PROCESSES
http://docs.oracle.com/cd/B19306_01/server.102/b14237/dynviews_2050.htm#REFRN30206
V$RESOURCE_LIMIT
관련 문서 및 노트를 확인해 보았을때, 현재로써는 PROCESSES를 증가를 검토 하여 주시기 바랍니다.
흠...이대로 종결을 낼 수 밖에 없을 듯 보인다.
일단 내가 조치할 수 있는 방도는 job 에서도 Local DB를 바라보는 Link 들이 있는데 이 것들을 수정 하라고 권고 하는 것 뿐이다.
또한 확인해야 할 사항은 이렇게 Link 를 이용하게 되면 process 수가 증가 여부가 궁금하다.
어떻게 하면 확인이 가능할 지 테스트도 찾아봐야 겠다.
[종결]
'Oracle > Engineer' 카테고리의 다른 글
[Oracle] v$sesion, v$process, v$sql 컬럼 확인 (0) | 2016.01.18 |
---|---|
[Oracle] ORA-12516: TNS:listener could not find available handler with matching protocol stack (1) | 2016.01.14 |
[Oracle] MS Sql to Oracle Using SQL Developer (3) | 2016.01.12 |
[Oracle] Block 관련 정리 - PCTFREE & PCTUSED (0) | 2016.01.08 |
[ORACLE] udump 내 asynch I/O (1) | 2016.01.06 |