ODI Practical Guide
|

[실전해결] Oracle ODI 디스크 관리의 모든 것: 90% 공간 문제 해결 가이드 2025

Oracle ODI 디스크 관리는 엔터프라이즈 시스템 운영에서 가장 중요한 운영 과제 중 하나입니다. 이 가이드에서는 Oracle ODI와 OBIEE 환경의 90% 이상 디스크 공간 부족 문제를 해결한 경험을 공유합니다.

프로덕션 Oracle Retail 환경에서 df -h 명령어로 확인했을 때 파일시스템 사용 현황에서 다음과 같은 심각한 상황이 발견되었습니다:

Oracle ODI 스토리지 상태
df -h 명령어로 확인한 심각한 디스크 공간 부족 상태
  • 전체 용량: 197GB
  • 사용 중: 186GB
  • 가용 공간: 2.8GB (단 1% 남음)
  • 사용률: 99%
  • 마운트 지점: /usr01

이는 매우 심각한 상황을 나타냅니다. 일반적으로 시스템의 안정적인 운영을 위해서는 최소 20% 이상의 여유 공간이 필요한데, 현재는 불과 1%의 여유 공간만이 남아있는 상태입니다. 이러한 상황은 다음과 같은 위험을 초래할 수 있습니다:

  1. 시스템 성능 저하
  2. 로그 파일 생성 실패
  3. 애플리케이션 오류 발생
  4. 긴급 백업 불가능

따라서 즉각적인 디스크 공간 확보 작업이 필요한 상황입니다.

시스템 구성

Oracle ODI 스토리지 분석

각 영역별 상세 분석을 진행한 결과, 다음과 같은 현황이 파악되었습니다:

RI Stage 영역

RI Stage 영역에서는 백업 데이터가 가장 큰 공간을 차지하고 있었으며, 전체 27GB의 백업 관련 데이터가 확인되었습니다.
 
  • backup 디렉토리: 20GB의 대용량 점유
  • odiadm_backup: 7.0GB 차지
  • 기타 설정 파일 및 로그: 2GB 미만

RDE Usr01 영역

RDE Usr01 영역에서는 현재 운영 중인 Middleware와 그 백업 데이터가 총 27GB를 차지하고 있었습니다.
 
  • Middleware: 15GB (현재 운영 중인 제품 디렉토리)
  • MiddlewareBkp: 12GB (백업 데이터)
  • JDK 관련: 364MB

RI OBIEE Application

가장 심각한 공간 부족은 RI OBIEE Application 영역에서 발견되었으며, Middleware 관련 데이터가 약 97GB를 차지하고 있었습니다.
 
  • Middleware: 88GB (가장 많은 용량 차지)
  • Middleware_12.2.1.4: 9.3GB
  • JDK 및 기타: 364MB

종합 현황

전체 스토리지 사용량 중 가장 큰 비중을 차지하는 요소들:

  1. OBIEE Middleware: 88GB (전체 용량의 약 58%)
  2. ODI 백업 데이터: 39GB (전체 용량의 약 26%)
  3. 기타 시스템 파일: 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단계: 긴급 조치

분석 결과를 바탕으로 다음과 같은 즉각적인 조치를 취했습니다:

  1. OBIEE Middleware 영역의 불필요한 파일 정리
  2. 오래된 백업 파일 정리 (backup: 20GB, odiadm_backup: 7.0GB)
  3. 기존 로그 파일 압축

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

개선 효과와 교훈

이와 같이 체계적인 접근을 통해 다음과 같은 성과를 얻을 수 있었습니다:

직접적인 효과

  1. 스토리지 사용량 대폭 감소
    • ODI 환경: 90% → 80% 미만으로 감소
    • OBIEE 환경: 99% → 85% 수준으로 개선
  2. 운영 효율성 향상
    • 수동 정리 작업 최소화
    • 예측 가능한 스토리지 관리
    • 시스템 안정성 확보

실무자를 위한 권장사항

  1. 구현 시 필수 고려사항
    • 반드시 테스트 환경에서 먼저 검증
    • 중요 파일에 대한 백업 확보
    • 점진적인 적용 전략 수립
  2. 자동화 스크립트 운영
# Crontab 설정 예시
0 2 1 * * /path/to/cleanup.sh

3. 모니터링 체계 구축

  • 일일 스토리지 사용량 점검
  • 주간 백업 현황 검토
  • 월간 정리 작업 수행

결론

Oracle ODI와 OBIEE 환경에서의 스토리지 관리는 단순한 파일 정리 작업이 아닌, 체계적이고 전략적인 접근이 필요합니다. 이번 사례를 통해 배운 가장 중요한 교훈은 사전 예방적 관리의 중요성입니다.

이 가이드에서 소개한 방법들은 실제 프로덕션 환경에서 검증된 것이지만, 각 환경의 특성에 맞게 적절히 조정하여 적용하시기 바랍니다. 특히 자동화 스크립트 적용 시에는 반드시 테스트 환경에서 충분한 검증을 거친 후 단계적으로 적용하는 것을 권장합니다.

이 가이드는 Oracle ODI 12.2.1.2.0 이상 버전을 기준으로 작성되었습니다. 실제 적용 시에는 각 환경의 특성을 고려하여 조정이 필요할 수 있습니다.

추가 리소스

이 가이드가 도움이 되셨나요? 

#OracleODI #스토리지관리 #ODI최적화 #OBIEE #시스템운영 #데이터베이스관리 #기술블로그

Similar Posts

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다