SAP Notes 1679938 - DiskFullEvent on Log Volume
SAP HANA DB 를 운영할 때, Log Volume 이 가득 찰 경우, DB는 더 이상 처리와 응답을 할 수 없게 된다.
이 경우, 무작정 Log Volume 으로 가서 Log 파일들을 지워버릴 경우 DB 가 죽어버리거나, 다시 시작이 안될 수도 있으니 다음과 같은 절차에 따라 Log Volume 공간을 확보해야 한다.
실제로 Data, Log Volume 에는 다음과 같은 살벌한 이름의 파일이 있다.
__DO_NOT_TOUCH_FILES_IN_THIS_DIRECTORY__
HANA DB OS 서버에 <SID>adm 계정으로 로그인
현재 HANA DB 시스템의 Log Volume (/hana/log/<SID>/) 이 FULL 이다.
파일시스템 중 여유 공간이 있는 곳은 /hana/data/<SID>/ 이다.
(보통 Data Volume 이 크므로)
HDB stop
또는 sapcontrol -nr <instance_number> -function StopSystem HDB
DB를 시작하려면 Log Volume에 최소 2GB 여유 공간이 있어야 한다.
따라서, 여유 공간이 있는 다른 파일 시스템으로 Log Volume 을 임시로 이동을 해야 한다.
Log Volume 으로 이동
cd /hana/log/<SID>/mnt00001
Log Volume 크기 확인
du -sh *
Log Volume 의 최소 여유공간 2GB를 만들기 위해 Log Volume 중 하나인 hdb00003 을,
여유 공간이 충분한 /hana/data/<SID>/ 에 logs_temp 임시 디렉토리를 만들어, 이곳으로 이동한다.
mkdir /hana/data/<SID>/logs_temp
mv /hana/log/<SID>/mnt00001/hdb00003 /hana/data/<SID>/logs_temp
이전 위치에 임시 디렉토리에 대한 심볼릭 링크를 생성한다.
ln -s /hana/data/<SID>/logs_temp/hdb00003 /hana/log/<SID>/mnt00001/hdb00003
HDB start
또는 sapcontrol -nr <instance_number> -function StartSystem HDB
HANA DB 서비스가 시작되고, 로그 백업이 수행 될때까지 대기한다.
이후, SYSTEMDB/ Tenant DB 단에서 SQL 문을 사용하여 Log Volume 을 정리한다.
ALTER SYSTEM RECLAIM LOG;
HANA DB 서비스 중지
HDB stop
임시 Log Volume 디렉토리 심볼릭 링크 삭제
rm -f /hana/log/<SID>/mnt00001/hdb00003
임시 이동한 Log Volume 디렉토리 원복
mv /hana/data/<SID>/logs_temp/hdb00003 /hana/log/<SID>/mnt00001
임시 Log Volume 디렉토리 삭제
rmdir /hana/data/<SID>/logs_temp
HANA DB 서비스 시작
HDB start