프린트 하기

OS환경 : Oracle Linux6.8(64bit)


DB 환경 : Oracle Database 11.2.0.4 RAC


에러 : $GRID_HOME/crf/db/$SID/crfclust.bdb의 용량이 비정상적으로 커졌을 때 



해결 방법 : *.bdb파일은 Berkeley 데이터베이스 파일이다. 해당 파일을 제거하여 공간을 확보 할 수 있다.

루트 계정으로 접속해서 아래 절차대로 실행한다.

1. crsctl 명령어로 ora.crf 를 종료 시켜준다.

$ GRID_HOME/bin/crsctl stop res ora.crf -init 


2. 아래 폴더로 이동한다.

cd $GRID_HOME/crf/db/<nodename> 


3. *.bdb파일들을 삭제한다.

rm * .bdb 


4. crsctl 명령어로 ora.crf 를 기동 시켜준다.

$GRID_HOME/bin/crsctl start res ora.crf -init


CHM (ora.crf) 프로세스가 다시 시작되면 bdb 파일이 자동으로 재생성된다. 

해당 파일은 소유자가 root이므로 root만이 bdb 파일을 삭제할 수 있다. 

CHM은 OS 통계를 다시 수집하기 시작하기 떄문에

CHM이 수집 한 OS 통계를 잃어 버리는 것 외에는 bdb 파일을 삭제해도 별다른 영향은 없다.


크기가 큰 bdb 파일이 생기는 이유는 보유 기간이 길어서 인데 

"$GRID_HOME/crf/admin/crf<nodename>.ora"을 열어보면 BDBSIZE 파라미터가 있는데

이 값이 보존 기간의 현재 값 (초 단위)이다.

보존 기간을 변경하려면 BDBSIZE 값을 변경하거나(주석 또는 삭제하면 절대 안된다.)

"oclumon manage -repos resize <원하는 값을 초>"입력하면 된다.

아래 예시는 3 일 동안 CHM 데이터를 보유하는 명령어이다.

"oclumon manage -repos resize 259200" (259200 초는 3 일 동안의 초 수임)



원인 : 

Oracle Cluster Health Monitor(CHM)는 OS 통계를 수집 할 때 많은 공간을 사용하는데

이때 통계들이 쌓이는 파일이 

$GRID_HOME/crf/db/<node name>/ 폴더에 생기게 된다.

매우 큰 bdb 파일 (2GB 이상)이 발생하는 첫번째 이유는 보유 기간이 길기 때문이고 

또 다른 이유는 CHM데이터 보존 시간이 증가되지 않는 한 

bdb 파일의 기본 크기가 1GB로 제한되기 때문에 버그이다.




참조 : (문서 ID 1343105.1)