오라클의 adump, bdump, udump, 리스너 로그, 아카이브 로그 등을 백업할 수 있으면 백업하는 것을 권장한다. 하지만 대부분의 경우 백업의 필요성이 절실하지 않기 때문에 삭제한다. 각종 로그의 자동관리를 위하여 첨부한 파일과 같이 CRONTAB에 등록하여 관리하면 편리하다. 정책 예시) 180일이 지난 파일은 삭제. 쉘 예시) 쉘 스크립트 작성 시 오타에 주의할 것 ####################################################### ####################################################### ####################################################### ####################################################### #########################################################
각각의 로그관리에 대한 정책이 필요하다.
1. alert 로그 : 월별로 로그를 관리. 영구 보관하는 것이 좋다.
compress 명령으로 압축하여 보관.
2. adump audit 파일 : 180일 정도 유지, 매일 180일이 지난 trc파일을 삭제
3. bdump trace 파일 : 90일 정도 유지, 매일 90일이 지난 trc파일을 삭제
4. udump trace 파일 : 90일 정도 유지, 매일 90일이 지난 trc파일을 삭제
5. 리스너 로그 : 리스너를 로깅하도록 설정했을 경우 월별로 로그를 관리.
compress 명령으로 압축하여 보관.
6. 아카이브로그 파일 : 기본적으로 1주일에 1번 이상 FULL BACKUP을 받을 경우
백업 툴에서 아카이브로그를 관리해 주지 않을 경우 등록하여 사용
7일전 아카이브로그 파일 삭제.
#######################################################
#### alert.log ####
#######################################################
nDate=`date +%Y%m%d`
cp $ORACLE_BASE/admin/TESTDB/bdump/alert_TESTDB.log $ORACLE_BASE/TESTDB/bdump/alert_TESTDB.log.$nDate
cat /dev/null > $ORACLE_BASE/admin/TESTDB/bdump/alert_TESTDB.log
compress -vf $ORACLE_BASE/TESTDB/bdump/alert_TESTDB.log.$nDate
#### listener.log ####
#######################################################
nDate=`date +%Y%m%d`
cp $ORACLE_HOME/network/admin/listener.log $ORACLE_HOME/network/admin/listener.log.$nDate
cat /dev/null > $ORACLE_HOME/network/admin/listener.log
compress -vf $ORACLE_HOME/network/admin/listener.log.$nDate
#### audit ####
#######################################################
# 1주일이 지난 *.aud를 찾아 삭제
find $ORACLE_BASE/admin/TESTDB/adump \( -ctime +7 -name '*.aud' \) -exec rm -f {} \;
#### .trc ####
# 30일이 지난 *.trc를 찾아 삭제 ####
#######################################################
find $ORACLE_BASE/admin/TESTDB/bdump \( -ctime +30 -name '*.trc' \) -exec rm -f {} \;
find $ORACLE_BASE/admin/TESTDB/udump \( -ctime +30 -name '*.trc' \) -exec rm -f {} \;
#### archive log ####
#######################################################
# 3일이 지난 *.arc를 찾아 삭제
find /archive_log \( -ctime +3 -name '*.arc' \) -exec rm -f {} \;
# 특정 디렉토리가 70%이상이면 3일지난 *.arc를 찾아 삭제 #
#########################################################
#!/usr/bin/ksh
A=`df -k /archive_log | grep -v "용량" | awk '{print $5}' | sed 's/%//'`
if [ $A > 70 ] ;
then
find /archive_log \( -ctime +3 -name '*.arc' \) -exec rm -f {} \;
fi
'Oracle > oracle' 카테고리의 다른 글
오라클 리스너 포트 변경 (0) | 2010.01.05 |
---|---|
oracle upgrade (0) | 2010.01.05 |
KSC5601 -> UTF8로 마이그레이션시 이슈 (0) | 2009.12.10 |
Oracle 10g 에서 SQL-LOADER 의 성능 향상 TIP (0) | 2009.12.10 |
오라클 LMT(Locally Managed Tablespace)사용하기 (0) | 2009.12.01 |