Translate

Search

Oracle : ORA-12516: TNS:리스너가 프로토콜 스택과 일치하는 처리기를 찾을 수 없습니다.

Problem
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;

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 문을 사용하는 방법

SQL > select * from v$resource_limit

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 값입니다.

3. Processes parameter 변경

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.

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.

설정 값 적용을 위해 DB를 재시작합니다.


5. 설정 적용 확인

2번에서 알려드린 QUERY 문으로 확인하시면 설정이 변경 된 것을 알 수 있습니다.

- 끝 -

1 comments:

  1. 마지막 재시작 부분에 startup이 아닌 shutdown immediate 적혀있네요 :)

    ReplyDelete