개요
altibase_boot.log 에 "reset Mutex Statistics" 라는 제목의 메세지가 다량으로 기록되는 경우가 있습니다. 이 메세지에 대한 간략한 설명을 기술합니다.
현상
altibase_boot.log 에 아래와 같은 메세지가 반복해서 기록되는 경우가 있습니다.
메세지 형식
--- reset Mutex Statistics ---
TRY_COUNT: 2102048999
LOCK_COUNT: 2147483647
MISS_COUNT: 59144056
------------------------------
TRY_COUNT: 2102048999
LOCK_COUNT: 2147483647
MISS_COUNT: 59144056
------------------------------
원인
이 메세지는 v$mutex 성능뷰테이블(View table) 의 try_count, lock_count, miss_count 컬럼의 값이 최대값을 초과하여 값이 초기화 될 때 보여지는 메시지입니다.
V$MUTEX 테이블 구조
iSQL> desc v$mutex;
[ ATTRIBUTE ]
-----------------------------------------------------
NAME TYPE
-----------------------------------------------------
NAME VARCHAR(64)
TRY_COUNT INTEGER // integer 최대값(2147483647)을 초과하면, 로그에 찍힘.
LOCK_COUNT INTEGER
MISS_COUNT INTEGER
SPIN_VALUE INTEGER
TOTAL_LOCK_TIME_US BIGINT
MAX_LOCK_TIME_US BIGINT
[ ATTRIBUTE ]
-----------------------------------------------------
NAME TYPE
-----------------------------------------------------
NAME VARCHAR(64)
TRY_COUNT INTEGER // integer 최대값(2147483647)을 초과하면, 로그에 찍힘.
LOCK_COUNT INTEGER
MISS_COUNT INTEGER
SPIN_VALUE INTEGER
TOTAL_LOCK_TIME_US BIGINT
MAX_LOCK_TIME_US BIGINT
v$mutex 는 데이터베이스 내 동시성 제어와 관련한 뮤텍스 정보를 기록하는데, 해당 컬럼들의 값이 계속 증가하여 최대값을 초과하면 value overflow 가 발생하므로 integer type 의 최대값에 도달하면 해당 값을 altibase_boot.log 에 기록한 후 0 으로 초기화합니다.
조치
뮤텍스(Mutex) 관련 정보를 저장할 수 있는 칼럼의 최대값에 도달한 경우 altibase_boot.log에 정보를 기록하는 것으로 특별히 심각한 문제가 있거나 조치가 필요하지 않습니다.