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]