반응형

ORA-12516: TNS:리스너가 프로토콜 스택과 일치하는 처리기를 찾을 수 없습니다
ORA-12516: TNS:listener could not find available handler with matching protocol stack.
ORA-12520 TNS : 리스너가 요청 된 유형의 서버에 대해 사용 가능한 처리기를 찾을 수 없습니다

ORA-12520: TNS:listener Could Not Find Available Handler For Requested Type Of Server
( 두에러가 각기 다른상황에서  동일하게 뜰수있음)

 

금요일까지만해도 잘 되던 서버가 갑자기 월요일 아침부터 동작하지 않는다.

또는 ORA-12516이랑 같이 뜨기도 한다.

연락을 받았을땐 이미 서버를 물리적으로 재부팅 한 후였다. 서버 프로그램을 켜니 ORA-12520 메세지가 나올때도 있고 ORA-12516 이 나오는 경우도 있었다.

SQL sysdba 계정으로 접속시도

SQLPLUS "/AS SYSDBA" 를 통해 DB 접근을 시도해봐도 아래와 같은 에러가 발생된다.

 

ORA-00020: 최대 프로세스 수 (500)를 초과했습니다

ORA-00020: maximum number of processes (500) exceeded

더보기

ORA-00020: 최대 프로세스 수 (300)를 초과했습니다

ORA-00020: maximum number of processes (300) exceeded

 

ORA-00020: 최대 프로세스 수 (150)를 초과했습니다

ORA-00020: maximum number of processes (150) exceeded

ORA-00020 에러 (500 또는 300 또는 150 디폴트는 150 사용자가 설정한 세션 수에따라 다르게 보임

일단 물리적인 서버를 재부팅 한 이후에도 접속이 되지않아 당황스러웠지만 급한대로 오라클 서비스 부터 재시작 해본다.

윈도우 서비스에 들어간후 oracleoradb11g_home1tnslistener 를 찾아서 오른쪽 클릭후 중지 버튼을 누른다.
중지가 완료되면 이후 시작 버튼을 누른다.

oracleoradb11g_home1tnslistener 중지 후 시작

이후 OracleService로 시작하는 서비스도 중지 후 시작을 눌러준다.

oracleservice 중지후 시작

 

이후 정상적으로 접속되는것을 확인

접속 성공

이후

show parameter processes ;

show parameter sessions ;

각 명령어를 통해 설정되어있는 세션값을 확인

 

processes 값과 sessions 값을 확인할수 있다.

// 프로세스 세션 늘리기 (1천개)
alter system set processes=1000 scope=spfile;

// open_cursors 늘리기 (1천개)
alter system set open_cursors=1000 scope=both;

 

//오라클 immediate(현재 처리중인 SQL Statement가 있다면, 다 STOP 시킵니다.) ※추천 방법 : shutdown immediate한후 종료가 안될시 새창을 띠워서 shutdown abort 시킴
shutdown immediate

//시작
startup

세션을 늘린후 오라클 재시작

이후 잘 해결되는거같았으나 갑자기 다시 세션이 꽉차는 상황이 발생

ORA-12516: TNS:리스너가 프로토콜 스택과 일치하는 처리기를 찾을 수 없습니다
ORA-12516: TNS:listener could not find available handler with matching protocol stack.

 

그리하여 프로그래머에게 프로그램 점검요청 결과 아래와 같은 에러가 발생했음.

 

ORA-28002 : 암호는 7 일 이내에 만료됩니다

ORA-28002: the password will expire within 7 days

더보기

ORA-28002 : 암호는 6 일 이내에 만료됩니다

ORA-28002: the password will expire within 6 days



ORA-28002 : 암호는 5 일 이내에 만료됩니다

ORA-28002: the password will expire within 5 days

 

ORA-28002 : 암호는 4 일 이내에 만료됩니다

ORA-28002: the password will expire within 4 days

 

ORA-28002 : 암호는 3 일 이내에 만료됩니다

ORA-28002: the password will expire within 3 days

 

ORA-28002 : 암호는 2 일 이내에 만료됩니다

ORA-28002: the password will expire within 2 days

 

ORA-28002 : 암호는 1 일 이내에 만료됩니다

ORA-28002: the password will expire within 1 days

프로그램 로그

원래대로라면 프로그램에서 세션연결후 끊어야하는데 ORA-28002 암호 만료 에러가 발생하면서 정상적으로 접속이 안되었다고 프로그램이 판단하여 계속 접속을하고 세션을 끊지않아 단시간안에 프로세스가 꽉차는 증상이 발생됨


암호만료제한 해제 방법

alter profile default limit password_life_time unlimited; 

패스워드 만료기가 해제 명령어
이후

계정 패스워드 변경 명령어

alter user 계정명 identified by 패스워드;

 

패스워드 만료해제 후 패스워드 변경 (국룰)

이후 정상동작 확인

반응형

+ Recent posts