Oracle : ORA-12516: TNS:리스너가 프로토콜 스택과 일치하는 처리기를 찾을 수 없습니다.
Problem
ORA-12516: TNS:리스너가 프로토콜 스택과 일치하는 처리기를 찾을 수 없습니다.
Cause
Oracle DB를 이동하여 Application을 가동하다 보면 위와 같은 Message와 마주칠 수 있습니다.
이는 동시 처리 가능한 Processes parameter 값을 초과했기 때문에 더 이상 Session을 연결할 수 없다는 message입니다.
Resolution
Processes parameter 값을 변경해주면 됩니다.
1. Oracle에 접속합니다.
2. Processes parameter 값을 확인합니다.
1) show parameter를 이용하는 방법
NAME TYPE VALUE
-------------------------------------------------
aq_tm_processes integer 1
db_writer_processes integer 1
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 150
* 현재 동시 처리 가능한 Processes 값은 150입니다.
2) select 문을 사용하는 방법
RESOURCE_NAME CURRENT_UTILIZATION MAX_UTILIZATION INITIAL_ALLOCATION LIMIT_VALUE
processes 119 150 150 150
sessions 76 166 256 256
enqueue_locks 90 256 3350 3350
enqueue_resources 48 145 1344 UNLIMITED
ges_procs 0 0 0 0
ges_ress 0 0 0 UNLIMITED
ges_locks 0 0 0 UNLIMITED
ges_cache_ress 0 0 0 UNLIMITED
ges_reg_msgs 0 0 0 UNLIMITED
ges_big_msgs 0 0 0 UNLIMITED
ges_rsv_msgs 0 0 0 0
gcs_resources 0 0 0 0
gcs_shadows 0 0 0 0
dml_locks 2 2 1124 UNLIMITED
temporary_table_locks 0 111 UNLIMITED UNLIMITED
transactions 1 1 281 UNLIMITED
branches 0 0 281 UNLIMITED
cmtcallbk 0 10 281 UNLIMITED
max_rollback_segments 12 36 281 65535
* 첫 번째 줄의 processes에서 가장 오른쪽이 Limit 값입니다.
ORA-12516: TNS:리스너가 프로토콜 스택과 일치하는 처리기를 찾을 수 없습니다.
Cause
Oracle DB를 이동하여 Application을 가동하다 보면 위와 같은 Message와 마주칠 수 있습니다.
이는 동시 처리 가능한 Processes parameter 값을 초과했기 때문에 더 이상 Session을 연결할 수 없다는 message입니다.
Resolution
Processes parameter 값을 변경해주면 됩니다.
1. Oracle에 접속합니다.
<oracle @ oracle ~># sqlplus / as sysdba
2. Processes parameter 값을 확인합니다.
1) show parameter를 이용하는 방법
SQL > show parameter processes;
-------------------------------------------------
aq_tm_processes integer 1
db_writer_processes integer 1
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 150
* 현재 동시 처리 가능한 Processes 값은 150입니다.
2) select 문을 사용하는 방법
SQL > select * from v$resource_limit
processes 119 150 150 150
sessions 76 166 256 256
enqueue_locks 90 256 3350 3350
enqueue_resources 48 145 1344 UNLIMITED
ges_procs 0 0 0 0
ges_ress 0 0 0 UNLIMITED
ges_locks 0 0 0 UNLIMITED
ges_cache_ress 0 0 0 UNLIMITED
ges_reg_msgs 0 0 0 UNLIMITED
ges_big_msgs 0 0 0 UNLIMITED
ges_rsv_msgs 0 0 0 0
gcs_resources 0 0 0 0
gcs_shadows 0 0 0 0
dml_locks 2 2 1124 UNLIMITED
temporary_table_locks 0 111 UNLIMITED UNLIMITED
transactions 1 1 281 UNLIMITED
branches 0 0 281 UNLIMITED
cmtcallbk 0 10 281 UNLIMITED
max_rollback_segments 12 36 281 65535
* 첫 번째 줄의 processes에서 가장 오른쪽이 Limit 값입니다.
3. Processes parameter 변경
동시에 처리 가능한 Process의 숫자를 500개로 증가시켰습니다.
4. DB 재시작
SQL > alter system set processes = 500 scope = spfile;
System Altered.
동시에 처리 가능한 Process의 숫자를 500개로 증가시켰습니다.
4. DB 재시작
SQL > shutdown immediate
Database closed.
Database dismounted.
Oracle instance shut down.
Database dismounted.
Oracle instance shut down.
SQL > shutdown immediate
ORACLE instance started.
Total System Global Area 219223120 bytes
Fixed Size 451664 bytes
Variable Size 201326592 bytes
Database Buffers 16777216 bytes
Redo Buffers 667648 bytes
Database mounted.
Database opened.
Total System Global Area 219223120 bytes
Fixed Size 451664 bytes
Variable Size 201326592 bytes
Database Buffers 16777216 bytes
Redo Buffers 667648 bytes
Database mounted.
Database opened.
설정 값 적용을 위해 DB를 재시작합니다.
5. 설정 적용 확인
2번에서 알려드린 QUERY 문으로 확인하시면 설정이 변경 된 것을 알 수 있습니다.
- 끝 -
2번에서 알려드린 QUERY 문으로 확인하시면 설정이 변경 된 것을 알 수 있습니다.
- 끝 -