Linux系统Oracle定时删除归档日志

使用rman命令删除做Oracle数据库定期删除归档日志处理1、准备工作:以root用户角色登录Linux操作系统,创建存储删除归档时记录日志及删除shell脚本文件的目录并授权给Oracle用户,命令如下:mkdir -p /home/del_log mkdir -p /home/del_log/logchown -R oracle:oinstall /home/del_log/log

2、编辑删除脚本删除归档日志先检查归档日志,把物理删除的信息从控制文件删除,然后执行物理删,本文删除 1天前的所有的归档。 进入/home/del_log 目录创建删除脚本文件vi del_arc.sh,编辑如下内容,并保存 。#! /bin/bash source ~/.bash_profile #记录归档删除的日志exec >> /home/rman_log/log/del_archdate +%F-%H.log $ORACLE_HOME/bin/rman target / <<EOF#检查归档crosscheck archivelog all; #删除无效归档delete noprompt expired archivelog all; #删除一天前的归档delete noprompt archivelog until time 'sysdate-1'; #删除所有的归档#delete noprompt archivelog all;exit; EOF

3、由于该脚本是用root用户创建,需要授权给orale用户去执行chmod 777 del_arc.sh 4、Oracle用户调度脚本crontab -l –查询已有调度任务crontab -e –编辑调度任务* 1 * * * /home/del_log/del_arc.sh

=====环境变量记得加上PATH=$PATH:$HOME/binexport PATH;export ORACLE_BASE=/opt/oracle;export ORACLE_HOME=$ORACLE_BASE/product/11g/dbname_1;export ORACLE_SID=hisdb;export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;export LANG=en_US.UTF-8;PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin;export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/oracm/lib;export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib;export CLASSPATH=$ORACLE_HOME/JRE;export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib;export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib;export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib;