데이터 파일이 저장되는 공간의 불필요한 용량을 줄일 수 있는 방법에 대해 문의하고자 합니다.
현재 시스템에서 df -h를 치면 아래와 같구요
Filesystem Size Used Avail Use% Mounted on
/dev/sda7 4.0G 2.4G 1.5G 62% /
/dev/sda1 99M 12M 82M 13% /boot
/dev/sdb1 68G 29G 36G 45% /cubriddata1
/dev/sdb2 68G 85M 64G 1% /cubriddata2
none 2.0G 0 2.0G 0% /dev/shm
/dev/sda8 103G 14G 85G 14% /home
/dev/sda2 9.9G 55M 9.3G 1% /logs
/dev/sda6 4.0G 289M 3.5G 8% /var
/dev/sda3 9.9G 55M 9.3G 1% /www
여기서
/dev/sdb1 68G 29G 36G 45% /cubriddata1
이 파티션에 데이터가 저장됩니다.
현재 29GB를 사용중인데
용도상의 특징이 하루에 3만개 정도의 레코드가 insert되고 2일치만 보관이 되고 나머지는 매일 삭제되기 때문에
실제 테이블에 들어있는 레코드수는 4~6만개 정도밖에 안되는 대신
매일 레코드가 삭제되면서 점점 디스크 사용량은 늘어난다는데 있습니다.
시스템 운영을 시작한지는 5개월 반 정도 되구요.
이 추세라면 올해 연말이 되면 디스크가 풀이 날것으로 보여 몇달 이내에
DB를 삭제하고 다시 생성해야 할 것 같습니다.
DB를 삭제하고 다시 생성하는것 말고 다른 방법이 있는지 궁금합니다.
그럼 수고하세요.
현재 시스템에서 df -h를 치면 아래와 같구요
Filesystem Size Used Avail Use% Mounted on
/dev/sda7 4.0G 2.4G 1.5G 62% /
/dev/sda1 99M 12M 82M 13% /boot
/dev/sdb1 68G 29G 36G 45% /cubriddata1
/dev/sdb2 68G 85M 64G 1% /cubriddata2
none 2.0G 0 2.0G 0% /dev/shm
/dev/sda8 103G 14G 85G 14% /home
/dev/sda2 9.9G 55M 9.3G 1% /logs
/dev/sda6 4.0G 289M 3.5G 8% /var
/dev/sda3 9.9G 55M 9.3G 1% /www
여기서
/dev/sdb1 68G 29G 36G 45% /cubriddata1
이 파티션에 데이터가 저장됩니다.
현재 29GB를 사용중인데
용도상의 특징이 하루에 3만개 정도의 레코드가 insert되고 2일치만 보관이 되고 나머지는 매일 삭제되기 때문에
실제 테이블에 들어있는 레코드수는 4~6만개 정도밖에 안되는 대신
매일 레코드가 삭제되면서 점점 디스크 사용량은 늘어난다는데 있습니다.
시스템 운영을 시작한지는 5개월 반 정도 되구요.
이 추세라면 올해 연말이 되면 디스크가 풀이 날것으로 보여 몇달 이내에
DB를 삭제하고 다시 생성해야 할 것 같습니다.
DB를 삭제하고 다시 생성하는것 말고 다른 방법이 있는지 궁금합니다.
그럼 수고하세요.
해결책은 크게 두가지가 있습니다.
첫번째는 cubrid.conf 파일에 media_failure_support 파라메터를 no 로 설정 하는 것입니다.
//cubrid.conf 제일 아래에 추가
media_failure_support=no
기본적으로 cubrid.conf 파일에 media_failure_support 파라메터를 설정 하지 않았을 경우, 기본값인 yes가 적용되며, 보관 로그를 자동으로 삭제 하지 않습니다.
다만, 파라메터 이름에서 알 수 있듯이 보관로그를 삭제한다면 디스크 장애가 생겼을 경우 데이터 베이스 복구가 불가능 한 경우가 발생할 수도 있기 때문에 설정에 주의를 요합니다.
두번째 방법은 backupdb 유틸리티에 -r 옵션을 사용 하는 방법입니다.
cubrid backupdb -r 디비명
으로 수행 하시면, db백업을 하게 되는데, 이 과정에서 불필요한 로그 어카이브를 삭제 하게 됩니다.
상황에 따라 두 방법중 적절한 방법을 사용 하시면 될 것입니다.