ab168 发表于 2018-9-12 10:52:40

oracle rman自动备份脚本

#!/bin/bash  
#oracle_rman.sh/script run by oracle
  
week_daily=`date +%a`
  
date=`date +%Y%m%d`
  
bak_dir=/data/rman/$date
  
log=${bak_dir}/$date.log
  
case ${week_daily} in
  
"Sun")level=0;;
  
"Mon")level=2;;
  
"Tue")level=2;;
  
"Wed")level=1;;
  
"Thu")level=2;;
  
"Fri")level=2;;
  
"Sat")level=2;;
  
esac
  
export level=$level
  
if [ ! -d ${bak_dir} ];then mkdir -p ${bak_dir};fi
  
source ~/.bash_profile
  
$ORACLE_HOME/bin/rman target / msglog=$log 列出所有失效的归档日志
  delete expired archivelog all;
  delete archivelog until sequence 16;--->删除log sequence为16及16之前的所有归档日志
  delete archivelog all completed before 'sysdate-7';--->删除系统时间7天以前的归档日志,不会删除闪回区有效的归档日志
  delete archivelog from time 'sysdate-1';--->注意这个命令,删除系统时间1天以内到现在的归档日志
  delete noprompt archivelog all completed before 'sysdate';   --->该命令清除所有的归档日志
  delete noprompt archivelog all;--->同上一命令
  sql>archive log list;
  alter database archivelog/noarchivelog;
  alter database open;
  使用report obsolete命令报告过期备份
  report obsolete;
  使用delete obsolete命令删除过期备份
  delete obsolete;


页: [1]
查看完整版本: oracle rman自动备份脚本