FAQ
로그 화일이 존재하는 디렉토리에서 disk full이 발생한 경우
분류 운영/관리 등록일 2013-07-09 조회수 3832
msjung 2004-02-28 58


알티베이스 운용시 디스크 full이 발생하는 경우와 대처 방법
+++++++++++++++++++++++++++++++++++++++


요약
++++
알티베이스 운용시 디스크 full이 발생하는 경우 중
로그 화일이 존재하는 디렉토리에서 full이 발생한 경우에 한해
발생할 수 있는 상황과 대처 방법에 대해 기술

Disk Full이 발생한 경우 알티베이스 운용 상태
++++++++++++++++++++++++++++++++++++++++++++
알티베이스 운용 중 filesystem full 현상은
DB 화일이 있는 화일시스템의 Full 또는
로그 화일이 있는 화일시스템의 Full일 수 있다.

DB 화일이 있는 화일 시스템이 full이 난 경우에는
일반 트랜잭션에는 영향을 미치지 않는다.
그러나, checkpoint 수행시 충분한 디스크 여유 공간이 없기 때문에
checkpoint 작업이 수행되지 않는다.
따라서, DB에 수행된 모든 변경 작업은 메모리 상의 DB에만 영향을 미친다.

LOG 화일이 있는 화일 시스템이 full이 난 경우에는
DB에 변경을 가하는 트랜잭션들은 더 이상 수행되지 않으며
altibase process는 waiting 상태에 들어간다.
즉, select를 제외한 서비스들이 중지되는 현상이 발생한다.

일반적으로 Disk Full이 발생하는 경우는
파일시스템 크기가 작기 때문이며
충분한 디스크 공간을 확보한 후 알티베이스를 운용하는 것이 바람직하다.

로그 화일이 있는 디렉토리가 full이 난 경우
++++++++++++++++++++++++++++++++++++++++++
디스크 공간을 충분히 확보하여 운용함에도 불구하고
로그 화일이 삭제되지 않아
비정상적으로 로그 화일들이 많이 존재하는 경우는 다음과 같다.

1. 이중화를 사용하는 경우 네트워크 불안정이나 기타 다른 이유로 인하여
이중화 데이타가 상대편 서버로 반영되지 못한 경우
=> 이를 확인하기 위하여 isql 상에서 check replication_gap 명령어를
사용할 수 있다.

2. REMOVE_ARCHIVE_LOG 프로퍼티의 값이 0으로 설정된 경우
=> 이 프로퍼티의 값이 0으로 설정되어 있으면
checkpoint가 발생하여도 로그 화일은 삭제되지 않으므로
이 값이 1로 되어 있는지를 확인한다.
$ALTIBASE_HOME/conf/altibase.properties 화일을 참조하거나
isql 상에서 check properties 명령어를 사용하여
이 프로퍼티의 값을 확인할 수 있다.

3. checkpoint가 수행되지 않은 경우
=> 로그 화일의 삭제는 checkpoint 시에만 발생하므로
checkpoint가 정상적으로 수행되었는지의 여부를 확인한다.
checkpoint 수행 여부는 $ALTIBASE_HOME/trc/altibase_boot.log 화일을
참조하여 확인 가능하다.

4. checkpoint가 정상적으로 수행된 경우
(1) checkpoint 수행시 출력되는 메세지 내용 중
[CHECKPOINT-step7] Remove Archive Log File[0 ~ 2]
이 부분을 확인한다.
checkpoint 수행 때마다 뒷부분에 나타나는 숫자값에 변화가 있었는지를
확인하여 변화가 없었다면 checkpoint는 정상 수행되었으나
long transaction이 존재하거나 이중화 데이타가 넘어가지 않아서
로그 화일들이 삭제될 수 없는 경우로 판단한다.

(2) 체크포인트 발생 때마다 계속 로그 화일이 삭제됨에도 불구하고
로그 파티션에 full이 발생했다면
트랜잭션이 굉장히 busy하게 발생하는지의 여부와
파일시스템의 크기를 확인한다.
=> checkpoint가 수행되는 도중에 트랜잭션이 매우 busy하게 발생하여
로그 화일이 삭제되는 갯수만큼 새로운 로그 화일이 생길 수 있기 때문에
이를 고려하여 화일 시스템의 크기를 충분히 크게 설정해야한다.


목록