반응형

지난 목요일에 아래와 같은 메시지가 뜨면서 접속이 되지 않았다.


[지난 포워딩 미리 확인]

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 수가 증가 여부가 궁금하다.


어떻게 하면 확인이 가능할 지 테스트도 찾아봐야 겠다.


[종결]

반응형

+ Recent posts