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

来源:互联网 发布:java工程师培训价格 编辑:程序博客网 时间:2024/06/05 07:54
使用rman命令删除做Oracle数据库定期删除归档日志处理
1、准备工作:
以root用户角色登录Linux操作系统,创建存储删除归档时记录日志及删除shell脚本文件的目录并授权给Oracle用户,命令如下:
mkdir -p /home/del_log   
mkdir -p /home/del_log/log
chown -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_arch`date +%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

原创粉丝点击