控制檔案的備份和日誌檔案的清理

2021-04-13 10:50:03 字數 2610 閱讀 7254

備份控制檔案的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...