Oracle 跟蹤/告警/監聽日誌的清理指令碼
**** 避免太多小檔案導致系統的索引空間不足..
[root ~]# cat del_oracle_log.sh
#!/bin/bash
source /home/oracle/.bash_profile
function audit_log()
{ #---audit_log日誌跟蹤檔案
#audit_log=$(strings $ORACLE_HOME/dbs/spfile$ORACLE_SID.ora|grep -i audit_file_dest|awk -F'=' '{print $NF}'|sed "s/'//g")
audit_log=`sqlplus -s /nolog <<END
connect lottery/lottery
set feedback off
set head off
select value from v\\$parameter where name='audit_file_dest';
END`
cd $audit_log
pwd=`pwd`
if [ $audit_log == $pwd ]
then
ls | xargs -n 10 rm -rf
echo '-------------------清理完------'$audit_log'路徑'
fi
}
function log_xml()
{ #---Diag Alert -- log.xml檔案的處理 只保留一個log.xml即可
log_xml=$(dirname `lsnrctl show log_file|grep -i log_file|awk '{print $NF}'`)
cd $log_xml
pwd=`pwd`
if [ $log_xml == $pwd ]
then
echo `ls |grep -v log.xml` | xargs -n 10 rm -rf
echo '-------------------清理完------'$log_xml'路徑'
fi
}
function listener()
{ #---listener.log檔案的處理
listener_log=$(lsnrctl show trc_directory|grep -i trc_directory|awk '{print $NF}')
cd $listener_log
pwd=`pwd`
if [ $listener_log == $pwd ]
then
echo '' > listener.log
echo '-------------------清理完------'$listener_log'/listener.log'
fi
}
function alert_log()
{ #----alert.log以外的檔案清理
alert_log=`sqlplus -s /nolog <<END
connect lottery/lottery
set feedback off
set head off
select value from v\\$diag_info where upper(name)=upper('Diag trace');
END`
cd $alert_log
pwd=`pwd`
if [ $alert_log == $pwd ]
then
echo `ls |grep -v alert `| xargs -n 10 rm -rf
echo '-------------------清理完------'$alert_log'路徑'
fi
}
function main()
{
if [ `ps -ef|grep oracle|grep -i smon|grep -v grep|wc -l` -eq 1 ]
then
echo '----------------'`date`'------------------開始清理---------------------------'
#/*每天清理audit_log(跟蹤)、log_xml*/
audit_log
log_xml
#/*每月1號清理alert_log{異常分析}、listener(監聽log)*/
date_=`date +%d`
if [ $date_ -eq 1 ]
then
alert_log
listener
fi
echo '----------------'`date`'------------------結束清理---------------------------'
fi
}
main
DB建立使用者:
SQL> create user lottery identified by lottery;
SQL> grant connect to lottery ;
SQL> grant select any table to lottery;
SQL> grant select any dictionary to lottery;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28602568/viewspace-2136129/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle之備份和清理監聽日誌、告警日誌指令碼Oracle指令碼
- 定時清理監聽日誌的指令碼 。指令碼
- oracle清理監聽日誌Oracle
- Oracle日誌切換及頻率跟蹤指令碼Oracle指令碼
- rac scan listener log 清理監聽日誌 oracleOracle
- 【LOG】Oracle資料庫清理日誌、跟蹤檔案利器Oracle資料庫
- online清理oracle 監聽日誌推薦的做法Oracle
- Zabbix如何監控Oracle的告警日誌Oracle
- 清理資料庫監聽日誌最好方法資料庫
- Oracle 監聽器日誌解析Oracle
- Oracle 監聽器日誌解析(續)Oracle
- Oracle之外部表監聽日誌Oracle
- ORACLE停止監聽日誌檔案Oracle
- listener_scan1.log、listener.log監聽日誌清理
- Oracle 監聽器日誌配置與管理Oracle
- Oracle監聽日誌2g-監聽啟動報錯Oracle
- 刪除oracle 11g的警告日誌和監聽日誌Oracle
- 關閉監聽的日誌。
- Oracle 11g 檢視監聽日誌Oracle
- Oracle 自動化運維-Python監控Oracle告警日誌Oracle運維Python
- Oracle監聽日誌過大導致的問題Oracle
- oracle 監聽日誌停止寫入的解決方法Oracle
- 監聽日誌檔案的管理
- oracle 審計日誌清理Oracle
- Oracle歸檔日誌清理Oracle
- linux平臺,監聽日誌大於1G,處理指令碼Linux指令碼
- 監聽器控制程式lsnrctl跟蹤trace file
- listener監聽監控指令碼指令碼
- 關於11gR2RAC監聽的跟蹤排查
- 用zabbix監控oracle dg從庫是否應用日誌的指令碼Oracle應用日誌指令碼
- 監控系統告警指令碼集合指令碼
- Oracle告警日誌ora-04030Oracle
- oracle12告警日誌檔案?Oracle
- 使用外部表管理Oracle 告警日誌Oracle
- oracle監聽器日誌過大-處理辦法Oracle
- Oracle 11g 中告警日誌的位置Oracle
- ORACLE 告警日誌alert過大的處理Oracle
- 日誌檔案的監測與檔案清理