프린트 하기

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


DB 환경 : Oracle Database 10.2.0.4


쿼리 : 

0. 작업 전 용량 확인(여유공간이 8%임)

1
2
3
4
5
$ df -k
Filesystem    1024-blocks      Free %Used    Iused %Iused Mounted on
/dev/hd1     2097152   1935652    8%     6011     2/
/dev/hd2   104857600  64033908   39%      145     1/arch
/dev/hd3    50185920   5680592   92%   907194    34/oracle

1. bdump 로그 경로 확인

1
2
3
4
5
SQL> show parameter background_dump_dest
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
background_dump_dest                 string      /oracle/admin/ORCL/bdump


2. 해당 경로로 이동

1
$ cd /oracle/admin/ORCL/bdump

3. 10일 지난 trc 파일 삭제

1
$ find . -name "*.trc" -mtime +10 -exec rm {} \;


4. 자동 삭제(crontab 등록)

1
$ crontab -e

제일 아래에 아래 문장 추가(crontab 주기는 서버에 맞게 변경)

1
2
3
4
###################
###  Bdump del  ###
###################
00 03 * * 3 /usr/bin/find /oracle/admin/ORCL/bdump -name "*.trc" -mtime +10 -exec /bin/rm {} \;

위 crontab 설명 매주 수요일 03시 00분 마다 find 명령으로 10일이 지난 *.trc 라는 파일을 찾아서 rm 명령어로 삭제


5. crontab 등록형식

1
2
3
4
5
6
7
8
9
* * * * *  수행할 명령어
┬ ┬ ┬ ┬ ┬
│ │ │ │ │
│ │ │ │ │
│ │ │ │ └───────── 요일 (0 - 6) (0:일요일, 1:월요일, 2:화요일, …, 6:토요일)
│ │ │ └───────── 월 (1 - 12)
│ │ └───────── 일 (1 - 31)
│ └───────── 시 (0 - 23)
└───────── 분 (0 - 59)


+
나의경우 bdump 폴더 아래 cdmp 폴더가 용량을 많이 차지하고 있어서 해당 파일도 삭제해줌
1
$ find . -name "cdmp*" -mtime +10 -exec rm {} \;

6.작업 후 용량 확인(여유공간이 30%가 됨)
1
2
3
4
5
$ df -k
Filesystem    1024-blocks      Free %Used    Iused %Iused Mounted on
/dev/hd1          2097152   1935652    8%     6011     2/
/dev/hd2   104857600  64033908   39%      145     1/arch
/dev/hd3    50185920   15680592  70%   907194    34/oracle

결과값 : crontab 주기에 맞게 10일 지난 trc 파일들과 cdmp 폴더를 삭제함


참조 : https://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_%EB%B0%98%EB%B3%B5_%EC%98%88%EC%95%BD%EC%9E%91%EC%97%85_cron,_crond,_crontab