#!/bin/bash # # RMAN Log backup # Written for Avon # v1.1 - James Pattinson - October 2023 # # usage: rman_logs.sh MYDIR="$(dirname "$(readlink -f "$0")")" export ORACLE_SID=$1 . $HOME/.profile export ORAENV_ASK=NO export ORACLE_SID=$1 . oraenv export ORAENV_ASK=YES source $MYDIR/rbk_api.conf source $MYDIR/oracle_funcs.sh #ORACLE_SID=$1 usage() { echo "Usage: $0 ]" 1>&2; exit 1; } if [ -z "${ORACLE_SID}" ]; then usage fi #ORAENV_ASK=NO #. oraenv export NLS_DATE_FORMAT='mm-dd-yyyy hh24:mi:ss' export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 mkdir -p $RMAN_LOG_DIR/$ORACLE_SID/ RMAN_LOG=$RMAN_LOG_DIR/$ORACLE_SID/rman_${ORACLE_SID}_LOG_$(date +%d%m%y).log get_log_mv open_mv if [ $? -ne 0 ]; then echo ERROR: Unable to open MV, aborting exit_with_error fi if [[ $logMvPresent -eq 1 ]] && [[ $numChannels -eq 1 ]] ; then MOUNTPOINT=$MOUNTPOINT_PREFIX${ORACLE_SID}_log else MOUNTPOINT=$MOUNTPOINT_PREFIX$ORACLE_SID fi # Disk space check dusage=$(df -Ph | grep -E "$MOUNTPOINT" | sed s/%//g | awk -v spaceWarn=$MV_SPACE_WARN '{ if($5 >= spaceWarn) print $0;}') if [ "$dusage" != "" ]; then echo "WARNING: Disk Space Alert - sending email" echo "$dusage" | mailx -s "WARNING: Rubrik MV Disk Space Alert On $(hostname) at $(date)" $ALERT_EMAILS else echo "INFO: Rubrik MV Disk usage is under threshold of ${MV_SPACE_WARN}%" fi echo Running RMAN with log to $RMAN_LOG if [[ $numChannels -eq 1 ]]; then allocate="allocate channel 'ch1' device type disk format '$MOUNTPOINT/%U';" release="release channel ch1;" channel0="$MOUNTPOINT" else for i in $(seq 0 $(($numChannels - 1))); do allocate+="allocate channel 'c$i' device type disk format '$MOUNTPOINT/log_c$i/%U';" release+="release channel c$i;" done channel0="$MOUNTPOINT/log_c0" fi # RMAN Part Here ############################################################################### rman nocatalog log $RMAN_LOG append > /dev/null </dev/null close_mv if [[ $HOSTLOGRET -gt 0 ]]; then echo "Starting post-backup RMAN log purge" # Remove archivelogs from host after backup ############################################################################### rman nocatalog log $RMAN_LOG append > /dev/null <