Oracle简单的删除归档日志脚本部署

环境:

RHEL6.X

Oracle 11g单机

编写脚本,指定脚本运行路径和日志保存格式:
[oracle@sypmdg scripts]$ cat del_arch.sh
source ~/.bash_profile
DATE=`date +%Y-%m-%d`
rman cmdfile /home/oracle/scripts/del_arch.rcv  log=/home/oracle/scripts/del_arch_logs/log_del_$DATE

假设删除三天前的归档(即只保留三天的归档日志):
[oracle@sypmdg scripts]$ cat del_arch.rcv
connect target
delete noprompt archivelog until time 'sysdate-3';

crontab -l
30 * * * * /arch/del_arch.sh

#关于crontab基本格式 :
*  *  *  *  *  command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)


测试如下:
作用:每隔40分钟删除一次归档日志且将产生的日志放在archlog中,依照时间“年-月-日-时-分-秒”格式区分
drwxr-xr-x. 2 oracle oinstall 4096 Aug 11 15:12 archlog
-rw-r--r--. 1 oracle oinstall   48 Aug 11 14:46 del_arch.rcv
-rwxrwxr-x. 1 oracle oinstall  119 Aug 11 15:11 del_arch.sh
[oracle@orhel arch]$ cat del_arch.sh
source ~/.bash_profile
DATE=`date +%Y-%m-%d-%H-%M-%S`
rman cmdfile /arch/del_arch.rcv log=/arch/archlog/log_del_$DATE     (log和cmdfile请放在同一行)
[oracle@orhel arch]$ cat del_arch.rcv
connect target
delete noprompt archivelog all;         (全部清除,不保留,实际情况不建议这么做)
[oracle@orhel arch]$ crontab -l
40 * * * * /arch/del_arch.sh

[oracle@orhel ~]$ sqlplus / as sysdba
手动生成归档日志文件:
SQL> alter system switch logfile;
查看归档日志生成情况:
直接运行脚本:
归档日志已经清除且产生记录日志:


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值