#!/bin/bash
# =================================================================
# Script Name: rman_full_backup.sh
# Description: Performs a full database backup using 4 parallel channels.
# =================================================================
# 1. Set Environment Variables (Update these for your environment)
export ORACLE_SID=your_sid_here
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
export DATE=$(date +%Y%m%d_%H%M)
export LOG_FILE=/home/oracle/logs/rman_full_$DATE.log
echo „Starting RMAN Backup for $ORACLE_SID at $(date)“ >> $LOG_FILE
# 2. Execute RMAN
rman target / >> $LOG_FILE << EOF
RUN {
# Allocate 4 channels for parallelism
ALLOCATE CHANNEL c1 DEVICE TYPE DISK;
ALLOCATE CHANNEL c2 DEVICE TYPE DISK;
ALLOCATE CHANNEL c3 DEVICE TYPE DISK;
ALLOCATE CHANNEL c4 DEVICE TYPE DISK;
# Perform Backup
BACKUP
AS COMPRESSED BACKUPSET
DATABASE
PLUS ARCHIVELOG
DELETE ALL INPUT;
# Housekeeping: Remove backups older than 7 days
DELETE NOPROMPT OBSOLETE RECOVERY WINDOW OF 7 DAYS;
RELEASE CHANNEL c1;
RELEASE CHANNEL c2;
RELEASE CHANNEL c3;
RELEASE CHANNEL c4;
}
EXIT;
EOF
# 3. Check Execution Status
if [ $? -eq 0 ]; then
echo „Backup completed successfully at $(date)“ >> $LOG_FILE
else
echo „Backup FAILED at $(date)“ >> $LOG_FILE
# Add alert/email logic here if desired
fi



