728x90

Audit Dump 위치 확인

show parameter audit_file_dest

ls | wc -l

파일 개수 확인하는 명령어

Background & User Dump Log 위치 확인

show parameter background_dump_dest
show parameter user_dump_dest

Alert Log, Trace Log 위치 확인 쿼리문

select value from v$diag_info;

cd /opt/oracle/diag/rdbms/xe/XE/trace
cd /opt/oracle/diag/rdbms/xe/XE/alert

오라클 로그 파일 자동 삭제 Shell 스크립트

vi delete_oracle_log.sh

vi로 delete_oracle_log.sh 쉘 파일을 만든다.

#!/bin/bash

# Audit Log (보관주기 6개월)
find /opt/oracle/admin/XE/adump/*.aud -mtime +180 -exec rm {} \\;

# Background & User Dump Log (보관주기 3개월)
find /opt/oracle/homes/OraDBHome21c/XE/rdbms/log/*.trc -mtime +90 -exec rm {} \\;

# Alert Log (보관주기 3개월)
find /opt/oracle/diag/rdbms/xe/XE/alert/*.xml -mtime +90 -exec rm {} \\;

# Trace Log (보관주기 3개월)
find /opt/oracle/diag/rdbms/xe/XE/trace/*.trc -mtime +90 -exec rm {} \\;
find /opt/oracle/diag/rdbms/xe/XE/trace/*.trm -mtime +90 -exec rm {} \\;
chmod 755 delete_oracle_log.sh

chmod 명령어로 쉘을 실행할 수 있는 권한을 준다.

crontab -e
## Oracle Log Delete
01 0 1 * * /delete_oracle_log 만든 경로/delete_oracle_log.sh
crontab -l

크론텝으로 매월 1일 00:01에 실행하도록 설정한다.

크론텝 시간

분 시 일(*:매일, 5:5일) 달(*:매달, 5:5월) 요일(0은 일요일, 6은 토요일)
0 5 * * * : 매일 5시 0분에 실행.
5 * * * * : 매시 5분이 될 때마다 실행. 즉, 한 시간 간격으로 실행.
* * * * * : 1분에 한 번씩 실행.
0 5 1 * * : 매달 1일 새벽 5시에 실행.

*/5 * * * * : 5분마다 한 번씩
0 */5 * * * : 5시간마다 한 번씩

0 5,11 * * * : 새벽 5시와 밤 11시.
0 5,11 * * 0,3 : 매주 일요일과 수요일 새벽 5시와 밤 11시.

리스너 로그 파일 자동 정리(압축 및 삭제) Shell 스크립트

vi delete_listener_log.sh

vi로 delete_listener_log.sh 쉘 파일을 만든다.

ls -lh

용량을 나타내는 명령어이다.

#!/bin/bash
export ORACLE_SID=XE
export ORACLE_HOME=/opt/oracle/homes/OraDBHome21c/XE
export PATH=$ORACLE_HOME/bin:$PATH
export DATE=`date -d '1 month ago' +%Y%m` 

cd /opt/oracle/diag/rdbms/xe/XE/trace

cp listener.log listener.log_${DATE}
zip listener.log_${DATE}.zip listener.log_${DATE}

cat /dev/null > /opt/oracle/diag/rdbms/xe/XE/trace/listener.log
rm -rf /opt/oracle/diag/rdbms/xe/XE/trace/listener.log_${DATE}
chmod 755 delete_listener_log.sh

chmod 명령어로 쉘을 실행할 수 있는 권한을 준다.

crontab -e
## Listener Backup & Delete
01 0 1 * * /home/oracle/scripts/delete_listener_log.sh
crontab -l

크론텝으로 매월 1일 00:01에 실행한다.

adrci 삭제

수동으로 삭제하는 방법 중에 adrci로 삭제하는 방법이 있다.

-- adrci 설정 확인
show homes

--  adrci Home Path 변경
set HOMEPATH diag/rdbms/xe/XE

-- Alert Log 삭제(분) (90*24*60) 90일 
purge -age 129600 -type ALERT

-- Trace Log 삭제(분) (90*24*60) 90일 
purge -age 129600 -type TRACE 

-- CDUMP Log 삭제(분) (90*24*60) 90일 
purge -age 129600 -type CDUMP 

-- HM Log 삭제(분) (90*24*60) 90일 
purge -age 129600 -type HM

-- INCIDENT Log 삭제(분) (90*24*60) 90일 
purge -age 129600 -type INCIDENT

참고

https://www.youtube.com/watch?v=-7PfFVLYdwQ&list=PLKaW9UT2TL3Lpqrh_lJ8PHyHpR7NgdrPP&index=11 

 

728x90
728x90

단일 작업 스케줄링

at [시간]

  • at > 실행할 명령어 Ctrl + D(종료)
  • at -l : 작업 조회할 때
  • at -r [작업 번호] : 작업 삭제할 때

반복 작업 스케줄링

작업 예약할 때

  • crontab -e

명령어 실행하면 편집기가 실행되고 편집기를 이용하여 내용을 작성

요일 명령어
0 ~ 59 0 ~ 23 1 ~ 31 1 ~ 12 0 ~ 6  

작업 삭제할 때

  • crontab -r 
  • 문서 들어가서 내용 삭제해도 된다.

스케줄링 접근제어

블랙리스트 방식

  • at.deny, cron.deny
  • 우선 모두 허용하고 리스트에 있는 특정 사용자들만 거부하는 방식

화이트리스트 방식

  • at.allow, cron.allow
  • 우선 모두를 거부하고 리스트에 있는 특정 사용자들만 허용하는 방식
  • 작업 스케줄링 접근제어 파일은 관리자가 따로 생성해주어야 한다.

블랙리스트와 화이트리스트 모두 사용하는 경우 화이트리스트 방식이 우선시된다.

728x90

+ Recent posts