#!/usr/bin/ksh #12 hours WINDOW=43200 LOG_DEST=~/arch-$ORACLE_SID OLDLOG_DEST=$LOG_DEST-applied function fage # File age in seconds; requires GNU extended date and stat { typeset -i cur this diff cur=$(date +%s) this=$(stat -c %Y "$1") ((diff=cur-this)) echo $diff } cd $LOG_DEST of=$(ls -rt | head -1) # Oldest file in directory if [[ -z "$of" || $(fage "$of") -lt $WINDOW || -f ~/.RECOVERING-$ORACLE_SID ]] then exit else echo $$ > ~/.RECOVERING-$ORACLE_SID # Create a lockfile fi for x in $(ls -rt) do if [[ $(fage "$x") -ge $WINDOW ]] then y=$(basename $x .bz2) if [[ "$y" != "$x" ]] # Compression is optional then bzip2 -dkq $x fi $ORACLE_HOME/bin/sqlplus /nolog > /dev/null 2>&1 <<-EOF connect / as sysdba recover standby database; $LOG_DEST/$y cancel quit EOF if [[ "$y" != "$x" ]] then rm $y fi mv $x $OLDLOG_DEST fi done rm ~/.RECOVERING-$ORACLE_SID