기술 정보
home
채널 소개
home

It's highly possible that the DB instance is in SESSION_FULL state. 발생 시 확인 사항

문서 유형
장애 해결
분야
관리/환경설정
키워드
session
적용 제품 버전
6FS06
1 more property

현상

It's highly possible that the DB instance is in SESSION_FULL state. 발생하면서 ap 또는 서버에서 DB 접속 불가 현상이 발생했습니다.
sys.log 일부 내용 발췌
[2025-03-20T12:10:36.981776] [SEQ-125] [I] Allocating new session for update user astatus failed. It's highly possible that the DB instance is in SESSION_FULL state. View for session and lock, and callstack dump will be helpful to investigate the problem. [2025-03-20T12:10:40.987847] [SEQ-125] [I] Allocating new session for update session login/logout time failed. It's highly possible that the DB instance is in SESSION_FULL state. View for session and lock, and callstack dump will be helpful to investigate the problem. ..
SQL
복사

원인

워킹 프로세스 중 하나가 비정상적으로 종료된 것으로 추정됩니다.
실제로 세션이 가득 차 SESSION_FULL 상태가 발생했습니다.

해결

1. 워킹 프로세스 정상 확인

당시 워킹 프로세스가 정상적으로 떠있는지 확인이 필요합니다. (MAX_SESSION_COUNT=100으로 설정되어 있으며, WP 1개당 세션 10개 허용합니다.)
WP046 PROCESS 48 (PID 14657) EXITED ABNORMALLY! (db 로그 또는 out 파일에서 확인 가능합니다.)
ps -ef | grep tbsv_WP ex) [tibero1]tibero@tibero1:/home/tibero> ps -ef | grep tbsvr_WP tibero 4092 4089 0 Mar19 ? 00:00:00 tbsvr_WP000 -t NORMAL -SVR_SID tibero1 tibero 4093 4089 0 Mar19 ? 00:00:00 tbsvr_WP001 -t NORMAL -SVR_SID tibero1 tibero 4094 4089 0 Mar19 ? 00:00:00 tbsvr_WP002 -t NORMAL -SVR_SID tibero1 tibero 4095 4089 0 Mar19 ? 00:00:00 tbsvr_WP003 -t NORMAL -SVR_SID tibero1 tibero 4096 4089 0 Mar19 ? 00:00:00 tbsvr_WP004 -t NORMAL -SVR_SID tibero1 tibero 4097 4089 0 Mar19 ? 00:00:00 tbsvr_WP005 -t NORMAL -SVR_SID tibero1 tibero 4098 4089 0 Mar19 ? 00:00:00 tbsvr_WP006 -t NORMAL -SVR_SID tibero1 tibero 4099 4089 0 Mar19 ? 00:00:00 tbsvr_WP007 -t NORMAL -SVR_SID tibero1 tibero 4100 4089 0 Mar19 ? 00:00:00 tbsvr_WP008 -t NORMAL -SVR_SID tibero1 tibero 4101 4089 3 Mar19 ? 01:00:32 tbsvr_WP009 -t NORMAL -SVR_SID tibero1
SQL
복사

2. 세션 카운트 확인

당시 실제 접속한 세션 카운트 확인합니다.
select count(*) from v$session
SQL
복사

3. 세션 수 확인

긴급하게 재기동을 진행한 경우라면 _tpr_snapshot, _tpr_misc 뷰를 통해 해당 시간에 붙어있던 세션 수를 확인 가능합니다.
select m.snap_id, s.begin_interval_time, m.name, m.value1 from _tpr_misc m, _tpr_snapshot s where m.snap_id = s.snap_id and m.thread# = s.thread# and m.value1 = (select max(value1) from _tpr_misc);
SQL
복사