被動式監控oracle的rman備份情況

urgel_babay發表於2016-05-11
被動式監控oracle的rman備份情況


dbbackup.sh

點選(此處)摺疊或開啟

  1. [oracle@db rman]$ cat dbbackup.sh
  2. cd /home/db/oracle/
  3. . ./.bash_profile
  4. mv /oradata/rman/db_* /oradata/rmanbak/db_*
  5. logName=db_rman_`date +\'%Y%m%d%H%M%S\'`_full.log
  6. find /oradata/rmanbak -name \"db_*\" -mtime +0 -exec rm -rf {} \\;
  7. cd /oradata/rman
  8. rman target / CMDFILE rman_db.rcv >> $logName

  9. ##################################
  10. sh check_backup.sh
  11. ##################################


RMAN_db.rcv

點選(此處)摺疊或開啟

  1. [oracle@db rman]$ cat rman_db.rcv 
  2. run{
  3. crosscheck archivelog all;
  4. allocate channel c1 type disk;
  5. allocate channel c2 type disk;
  6. allocate channel c3 type disk;
  7. allocate channel c4 type disk;
  8. backup as compressed backupset database format \'/oradata/rman/hxpif_full_%U\'
  9. plus archivelog skip inaccessible format \'/oradata/rman/hxpif_ARC_%U\';
  10. delete noprompt archivelog all completed before \'sysdate-1/8\';
  11. backup current controlfile format \'/oradata/rman/hxpif_control_bak_%T\';
  12. backup spfile format \'/oradata/rman/hxpif_spfile_bak_%T\';
  13. release channel c1;
  14. release channel c2;
  15. release channel c3;
  16. release channel c4;
  17. }


check_backup.sh

點選(此處)摺疊或開啟

  1. [oracle@db rman]$ cat check_backup.sh
  2. IP=192.168.0.56
  3. SID=db

  4. status=`sqlplus -silent \"/as sysdba\" <<eof
  5. set feedback off
  6. set verify off
  7. set heading off
  8. set echo off
  9. set pagesize 0
  10. SELECT /*+ rule */ DECODE (
  11.              TRUNC (SYSDATE - start_time),
  12.              0, DECODE (
  13.                    status,
  14.                    \'COMPLETED\', \'0\',
  15.                    \'COMPLETED WITH WARNINGS\',\'1\',
  16.                    \'2\'),
  17.              \'2\')
  18.           backup_status
  19.   FROM v\\\\$rman_backup_job_details
  20.  WHERE start_time = (SELECT MAX (start_time) FROM v\\\\$rman_backup_job_details);
  21. exit;
  22. eof`
  23. output=`sqlplus -silent \"/as sysdba\" <<eof
  24. set feedback off
  25. set verify off
  26. set heading off
  27. set echo off
  28. set pagesize 0
  29. SELECT /*+ rule */ DECODE (
  30.           TRUNC (SYSDATE - start_time),
  31.           0, DECODE (status,
  32.                      \'COMPLETED\', \'Backup Suess!\',
  33.                      \'COMPLETED WITH WARNINGS\', \'Backup With Warnings!\',
  34.                      \'Backup Failed!\'),
  35.           \'No Backup!\')
  36.           backup_status
  37.   FROM v\\\\$rman_backup_job_details
  38.  WHERE start_time = (SELECT MAX (start_time) FROM v\\\\$rman_backup_job_details);
  39. exit;
  40. eof`
  41. hostip=$IP
  42. checkname=\"Rman_Backup_\"$SID
  43. echo -e \"$hostip\\t$checkname\\t$status\\t$output\" > backup_status.log

  44. /usr/local/nagios/bin/send_nsca 192.168.128.45 -c /usr/local/nagios/etc/send_nsca.cfg < backup_status.log


[oracle@db rman]$ cat backup_status.log 
192.168.0.56     Rman_Backup_DB       0       Backup Suess!












來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30936525/viewspace-2097971/,如需轉載,請註明出處,否則將追究法律責任。

相關文章