기술 정보
home
채널 소개
home

일반 유저 접속 시 에러 (redo log 대기)

문서 유형
장애 해결
분야
패치/업그레이드
키워드
archive
disk
login
적용 제품 버전
6FS06
1 more property

현상

redo log가 대기상황(waiting for all logfiles to be archived)일 경우 일반 유저 접속 시 Internal 에러가 발생합니다.
online redo log가 Full로 대기상황에서 일반 유저로 login 시, 즉시 1063 에러(Log writer is waiting for all logfiles to be archived.)가 출력되고 종료되어야 하나, Internal Error with condition sess->si_alloc == NULL가 발생한 경우 입니다.
--slog [mm-ddT00:00:00.543212] [FRM-353] [I] THROW. ec=ERROR_CACHE_CANT_SWITCH_LOGFILE(-1063) [ Log writer is waiting for all logfiles to be archived. ] (csr_id:4294967295) [tbsvr_msg_conn.c:988:tbsvr_check_svr_status] [mm-ddT00:00:00.544848] [COM-353] [I] Internal Error with condition 'sess->si_alloc == NULL' (sess.c:118) (pid=13631666, sessid=353, tid=353, os_thr_id=63176841)
SQL
복사

원인

login 인증을 수행하는 과정에서 세션이 없으나 session의 allocator(si_alloc)가 존재하는 중간상태에서는 login failed를 일으킴으로써 세션이 없다고 판단해 세션 open을 시도합니다. 그러나 세션 변수(sess->si_alloc)가 존재하여 에러가 발생합니다.
redo log가 막힌(waiting for all logfiles to be archived) 상황에서 일반 유저 접속 시 발생하는 현상으로 주로 disk full 상황에서 발생하지만 archive 되는 속도가 느린 경우에도 발생할 수 있습니다.

해결

login failed 시 세션이 없더라도 session의 si_alloc(session의 allocator)와 같은 변수들을 체크하여 초기화하도록, 패치를 적용해 해결합니다. (적용패치: 110951b)
주의
티맥스티베로에서 제공하는 기술지원을 통해 패치를 적용합니다.