備份控制檔案的shell
#!/usr/bin/ksh
. /oracle/.profile
ctlfile_path=$home/ctlfile
cur_date=`date +%m%d`
cd $ctlfile_path
find $ctlfile_path/. -name "ctlfile_*bin.*" -a -mtime +2 -exec rm {} /;
find $ctlfile_path/. -name "ctlfile_*asc.*" -a -mtime +2 -exec rm {} /;
#filelist=$ctlfile_path/tracefile.lst
udump_path=/oraclelog/$oracle_sid/udump
ctlfile_asc=ctlfile_$oracle_sid/_$cur_date.asc
ctlfile_bin=ctlfile_$oracle_sid/_$cur_date.bin
sqlplus "/as sysdba" << _backup_control_ >> $ctlfile_path/ctlfile_bak.log
alter database backup controlfile to '$ctlfile_path/$ctlfile_bin';
alter database backup controlfile to trace;
exit;
_backup_control_
#ls -t $udump_path > $filelist
#read trace_file < $filelist
trace_file=`ls -t $udump_path|head -1`
cp -f $udump_path/$trace_file $ctlfile_path/$ctlfile_asc
#rm -f $ctlfile_path/$filelist
gzip -f $ctlfile_path/$ctlfile_asc
gzip -f $ctlfile_path/$ctlfile_bin
#截斷alert log檔案並gzip壓縮的shell
#!/usr/bin/sh
. /oracle/.profile
bdump_path=/oraclelog/$oracle_sid/bdump
current_date=`date +%y%m%d`
if [ -s $bdump_path/alert_$oracle_sid.log ]; then
cp -f $bdump_path/alert_$oracle_sid.log $bdump_path/alert_$oracle_sid.log.$current_date
if [ $? -eq 0 ]
then
> $bdump_path/alert_$oracle_sid.log
gzip $bdump_path/alert_$oracle_sid.log.$current_date
fielse
echo "alert log not exists! -- "$bdump_path
exit
fi#remove old trace files
find /oraclelog/boss* -name $oracle_sid_j00*.trc -exec rm {} /;
find /oraclelog/boss* -name $oracle_sid*.trc -a -mtime +30 -exec rm {} /;
#清理歸檔日誌檔案的shell
#!/usr/bin/ksh
# 當/archivelog檔案系統當前使用率超過90%時清除檔案系統下的歸檔日誌檔案
. /oracle/.profile
clear_rate=90
# 計算fs空間使用率
archlog_used=`df -k|grep archivelog|awk ' '|awk -f % ''`
while [ $archlog_used -ge $clear_rate ]
do# 開始刪除檔案系統下的檔案
file_name=`ls -trp /archivelog|grep -v '/'|head -1`
if [ "null$file_name" = "null" ];then exit;fi
echo `date +"%y-%m-%d %h:%m:%s"`" -- delete file "$file_name
rm -f /archivelog/$file_name
if [ $? != 0 ];then echo `date +"%y-%m-%d %h:%m:%s"`" -- failed to delete the file !!!";fi
# 重新計算fs空間使用率
archlog_used=`df -k|grep archivelog|awk ' '|awk -f % ''`
done
[color=red]注意:[/color]曾經出現過由於df命令出現異常導致user的程序數達到限制數,影響系統的正常執行
Tomcat日誌檔案定時清理備份的指令碼
以下指令碼主要備份的日誌檔案為tomcat的catalina.out localhost access log.yyyy mm dd.log日誌和專案的日誌檔案,其中專案的日誌檔案格式為 projectname yyyy mm dd.log 以下為備份指令碼,具體的操作都有相應的注釋,供大www.c...
oracle 日誌檔案 引數檔案 控制檔案備份恢復
在此之前搞清楚每個檔案的作用,一定要掌握oracle的基本概念。一 基本檔案的備份恢復 1 logfile多元化和備份恢復 日誌查詢 select from v logfile select from v log 手工切換日誌 alter system switch logfile 手工檢查點 al...
控制檔案的備份
備份控制檔案建立指令碼 alter database 的這種備份一定要要歸檔模式下 alter database backup controlfile to trace as e control 備份二進位制的檔案 alter database backup controlfile to e con...