[실전해결] Oracle ODI 디스크 관리의 모든 것: 90% 공간 문제 해결 가이드 2025
Oracle ODI 디스크 관리는 엔터프라이즈 시스템 운영에서 가장 중요한 운영 과제 중 하나입니다. 이 가이드에서는 Oracle ODI와 OBIEE 환경의 90% 이상 디스크 공간 부족 문제를 해결한 경험을 공유합니다.
Contents
ToggleOracle ODI 디스크 관리 현황 점검
프로덕션 Oracle Retail 환경에서 df -h
명령어로 확인했을 때 파일시스템 사용 현황에서 다음과 같은 심각한 상황이 발견되었습니다:
- 전체 용량: 197GB
- 사용 중: 186GB
- 가용 공간: 2.8GB (단 1% 남음)
- 사용률: 99%
- 마운트 지점: /usr01
이는 매우 심각한 상황을 나타냅니다. 일반적으로 시스템의 안정적인 운영을 위해서는 최소 20% 이상의 여유 공간이 필요한데, 현재는 불과 1%의 여유 공간만이 남아있는 상태입니다. 이러한 상황은 다음과 같은 위험을 초래할 수 있습니다:
- 시스템 성능 저하
- 로그 파일 생성 실패
- 애플리케이션 오류 발생
- 긴급 백업 불가능
따라서 즉각적인 디스크 공간 확보 작업이 필요한 상황입니다.
시스템 구성
- 제품: Oracle Retail (Retek)
- 버전: ODI 12.2.1.2.0 (Build: ODI_12.2.1.2.0_GENERIC_161008.2132)
- 환경: 프로덕션 서버
- 자세한 시스템 요구사항
Oracle ODI 스토리지 분석
각 영역별 상세 분석을 진행한 결과, 다음과 같은 현황이 파악되었습니다:
RI Stage 영역
- backup 디렉토리: 20GB의 대용량 점유
- odiadm_backup: 7.0GB 차지
- 기타 설정 파일 및 로그: 2GB 미만
RDE Usr01 영역
- Middleware: 15GB (현재 운영 중인 제품 디렉토리)
- MiddlewareBkp: 12GB (백업 데이터)
- JDK 관련: 364MB
RI OBIEE Application
- Middleware: 88GB (가장 많은 용량 차지)
- Middleware_12.2.1.4: 9.3GB
- JDK 및 기타: 364MB
종합 현황
전체 스토리지 사용량 중 가장 큰 비중을 차지하는 요소들:
- OBIEE Middleware: 88GB (전체 용량의 약 58%)
- ODI 백업 데이터: 39GB (전체 용량의 약 26%)
- 기타 시스템 파일: 24GB (전체 용량의 약 16%)
이러한 분석을 바탕으로, 특히 OBIEE Middleware 영역과 백업 데이터에 대한 체계적인 정리가 시급한 것으로 판단되었습니다.
해결 전략 수립 및 실행
1단계: 문제 영역 분석
먼저 실제 정리가 필요한 영역을 정확히 파악하기 위해 다음 명령어들을 실행했습니다:
# 대용량 로그 파일 찾기
find /usr01 -name "*.log" -type f -mtime +30 -ls | sort -k7 | head -20
# 용량이 큰 디렉토리 식별
du -h --max-depth=3 /usr01/oracle/Middleware | sort -rh | head -10
이 분석을 통해 가장 많은 공간을 차지하는 디렉토리들과 오래된 로그 파일들의 위치를 정확히 파악할 수 있었습니다.
2단계: 긴급 조치
분석 결과를 바탕으로 다음과 같은 즉각적인 조치를 취했습니다:
- OBIEE Middleware 영역의 불필요한 파일 정리
- 오래된 백업 파일 정리 (backup: 20GB, odiadm_backup: 7.0GB)
- 기존 로그 파일 압축
3단계: ODI 로그 정리
확인된 문제 영역에 대한 지속적인 관리를 위해 자동화 스크립트를 개발했습니다:
#!/bin/bash
# Oracle ODI 스토리지 관리 자동화 스크립트
# 대상 디렉토리 지정
TARGET_DIR="/usr01/oracle/Middleware/logs"
# 해당 디렉토리가 존재하는지 확인
if [ ! -d "$TARGET_DIR" ]; then
echo "Error: Directory $TARGET_DIR does not exist"
exit 1
fi
# 지정된 디렉토리에서 작업 수행
cd "$TARGET_DIR" || exit 1
echo "Working in directory: $TARGET_DIR"
# 90일 이상 로그 파일 압축
find "$TARGET_DIR" -name "*.out[0-9]*" -type f -mtime +90 -exec gzip {} \;
find "$TARGET_DIR" -name "*.log[0-9]*" -type f -mtime +90 -exec gzip {} \;
# 1년 이상 압축 로그 삭제
find "$TARGET_DIR" -name "*.out[0-9]*.gz" -type f -mtime +365 -delete
find "$TARGET_DIR" -name "*.log[0-9]*.gz" -type f -mtime +365 -delete
echo "Cleanup completed in $TARGET_DIR"
4단계: 정기적인 유지보수 정책 수립
지속 가능한 스토리지 관리를 위해 다음과 같은 정책을 수립했습니다:
1. 백업 파일 관리
# 30일 이상 된 백업 파일 정리
find /*/backup -name "*.bak" -mtime +30 -delete
find /*/backup -name "*.backup" -mtime +30 -delete
2. 로그 파일 관리
# 30일 이상 된 로그 압축
find /*/logs -name "*.log" -mtime +30 -exec gzip {} \;
# 90일 이상 된 압축 로그 삭제
find /*/logs -name "*.gz" -mtime +90 -delete
3. 임시 파일 정리
# 30일 이상 된 임시 파일 삭제
find /stage -type f -mtime +30 -delete
개선 효과와 교훈
이와 같이 체계적인 접근을 통해 다음과 같은 성과를 얻을 수 있었습니다:
직접적인 효과
- 스토리지 사용량 대폭 감소
- ODI 환경: 90% → 80% 미만으로 감소
- OBIEE 환경: 99% → 85% 수준으로 개선
- 운영 효율성 향상
- 수동 정리 작업 최소화
- 예측 가능한 스토리지 관리
- 시스템 안정성 확보
실무자를 위한 권장사항
- 구현 시 필수 고려사항
- 반드시 테스트 환경에서 먼저 검증
- 중요 파일에 대한 백업 확보
- 점진적인 적용 전략 수립
- 자동화 스크립트 운영
# Crontab 설정 예시
0 2 1 * * /path/to/cleanup.sh
3. 모니터링 체계 구축
- 일일 스토리지 사용량 점검
- 주간 백업 현황 검토
- 월간 정리 작업 수행
결론
Oracle ODI와 OBIEE 환경에서의 스토리지 관리는 단순한 파일 정리 작업이 아닌, 체계적이고 전략적인 접근이 필요합니다. 이번 사례를 통해 배운 가장 중요한 교훈은 사전 예방적 관리의 중요성입니다.
이 가이드에서 소개한 방법들은 실제 프로덕션 환경에서 검증된 것이지만, 각 환경의 특성에 맞게 적절히 조정하여 적용하시기 바랍니다. 특히 자동화 스크립트 적용 시에는 반드시 테스트 환경에서 충분한 검증을 거친 후 단계적으로 적용하는 것을 권장합니다.
이 가이드는 Oracle ODI 12.2.1.2.0 이상 버전을 기준으로 작성되었습니다. 실제 적용 시에는 각 환경의 특성을 고려하여 조정이 필요할 수 있습니다.
추가 리소스
이 가이드가 도움이 되셨나요?
#OracleODI #스토리지관리 #ODI최적화 #OBIEE #시스템운영 #데이터베이스관리 #기술블로그