./rman_backup_report.sh
[oracle@srv1 ~]$ cat rman_backup_report.sh
#!/bin/bash
# Output file
REPORT_FILE="/tmp/rman_backup_report_$(date +%Y%m%d_%H%M%S).log"
echo "RMAN Backup Consolidated Report" > $REPORT_FILE
echo "Generated on: $(date)" >> $REPORT_FILE
echo "=========================================" >> $REPORT_FILE
# Loop through databases from oratab
grep -v '^#' /etc/oratab | grep -v '^$' | while IFS=: read ORACLE_SID ORACLE_HOME REST
do
export ORACLE_SID
export ORACLE_HOME
export PATH=$ORACLE_HOME/bin:$PATH
echo "" >> $REPORT_FILE
echo "-----------------------------------------" >> $REPORT_FILE
echo "Database: $ORACLE_SID" >> $REPORT_FILE
echo "-----------------------------------------" >> $REPORT_FILE
sqlplus -s / as sysdba <<EOF >> $REPORT_FILE
SET LINESIZE 200
SET PAGESIZE 100
SET TRIMOUT ON
SET TRIMSPOOL ON
COLUMN STATUS FORMAT A10
COLUMN INPUT_TYPE FORMAT A15
COLUMN START_TIME FORMAT A20
COLUMN END_TIME FORMAT A20
SELECT
INPUT_TYPE,
STATUS,
TO_CHAR(START_TIME,'DD-MON-YYYY HH24:MI') START_TIME,
TO_CHAR(END_TIME,'DD-MON-YYYY HH24:MI') END_TIME
FROM
V\$RMAN_BACKUP_JOB_DETAILS
WHERE
START_TIME > SYSDATE - 2
ORDER BY
START_TIME DESC;
EXIT;
EOF
done
echo "" >> $REPORT_FILE
echo "=========================================" >> $REPORT_FILE
echo "End of Report" >> $REPORT_FILE
# Print location
echo "Report generated at: $REPORT_FILE"
No comments:
Post a Comment