RMAN备份和清理脚本

来自Fantasy的维基百科
跳转至: 导航, 搜索
  1. !/bin/bash
  2. set env

. /home/oracle/.bash_profile export DATETIME=`date +%Y_%m_%d_%H:%M:%S` date >> /home/oracle/rman.log echo "--start--" >> /home/oracle/rman.log

  1. backup start

$ORACLE_HOME/bin/rman target / nocatalog msglog /home/oracle/rman.log append << EOF configure retention policy to recovery window of 7 days; CONFIGURE CONTROLFILE AUTOBACKUP ON;

  1. delete noprompt expired backup;
  2. allocate channel for maintenance type disk;
  3. delete noprompt obsolete device type disk;

delete noprompt obsolete; run { allocate channel f1 type disk maxpiecesize 4G; backup database tag 'full_bak' format '/opt/oracle_back/db_bak/db_%T_%U_%s.bak' plus archivelog; release channel f1; } sql 'alter system archive log current'; run { allocate channel a1 type disk maxpiecesize 4G; backup filesperset 20 archivelog all tag='full_arch' format '/opt/oracle_back/arch_bak/arc_%T_%U_%s.arc'; release channel a1; } sql 'ALTER SYSTEM ARCHIVE LOG CURRENT'; sql "alter database backup controlfile to trace as /opt/oracle_back/cfile_bak/control_$DATETIME.ctl"; delete noprompt archivelog all completed before 'sysdate - 2'; CROSSCHECK BACKUP; CROSSCHECK BACKUPSET; CROSSCHECK COPY; CROSSCHECK ARCHIVELOG ALL; CROSSCHECK BACKUP OF ARCHIVELOG ALL; DELETE NOPROMPT EXPIRED BACKUP; DELETE NOPROMPT EXPIRED BACKUPSET; DELETE NOPROMPT EXPIRED COPY; DELETE NOPROMPT EXPIRED ARCHIVELOG ALL; DELETE NOPROMPT OBSOLETE DEVICE TYPE DISK; DELETE NOPROMPT OBSOLETE; exit; EOF date >> /home/oracle/rman.log echo "--end--" >> /home/oracle/rman.log

个人工具
名字空间

变种
操作
导航
工具