一、基于Linux服务器端的 归档日志删除脚本
生产库部署环境:
1、创建detele_archivelog.sh脚本
选择存放脚本的路径
[oracle@localhost ~]$ cd /home/oracle/ --打开/home/oracle
[oracle@localhost ~]$ touchdelete_archivelog.sh --创建脚本
[oracle@localhost ~]$ chmod 755delete_archivelog.sh --赋予读写权限
[oracle@localhost ~]$ vi delete_archivelog.sh --编辑脚本
注意修改ORACLE_SID log路径要写绝对路径 不写绝对路径会导致单独执行成功 定时任务执行时找不到对应的log
脚本:
#!/bin/bash
export ORACLE_SID=orcl
$ORACLE_HOME/bin/rman log=/oracle/log/archive_ orcl.log <<EOF
connect target /
crosscheck archivelog all;
delete NOPROMPT expired archivelog all;
delete noprompt archivelog all completed before 'sysdate-5';
exit;
EOF
添加以上脚本
编辑完成后按Esc键,输入“:wq”存盘退出
2、执行detele_archivelog.sh脚本
[oracle@localhost ~]$./delete_archivelog.sh --执行脚本
查看对应日志执行成功
第三步:添加crontab计划任务
使用oracle用户添加例行任务:
crontab -e
新打开的窗口中添加一下内容:
0 11 * * * /home/oracle/detele_archivelog.sh
----每天11点执行
编辑完成后按Esc键,输入“:wq”存盘退出
第三步:执行验证
1、ps -ef | grep crond #判断定时服务是否启动
service crond start|stop|restart #启动、停止或重启服务
crontab –l 查看是否有正确添加定时任务
2、crontab成功执行验证:
在root下执行tail -f /var/log/cron,监控cron日志来确保crontab的成功执行:
或者在 oracle 下执行mail 查看最近的日志看执行情况