Windows环境定期清理Oracle归档日志

一、Windows环境下的配置
原理:通过系统的任务计划执行Oracle归档日志。
1、系统环境变量中新建变量示例:ORACLE_SID:ORCL
变量名称:ORACLE_SID
值:ORCL
2、创建删除归档日志命令的del_archivelog.txt文件,写入内容:
connect target /
run{
crosscheck archivelog all;
DELETE ARCHIVELOG ALL COMPLETED BEFORE ‘SYSDATE-7’;
delete expired archivelog all;
}
3、创建执行删除归档日志的del_archivelog.bat脚本文件,写入内容为:
@echo off
set “filename=del_archivelog_task_log_%date:0,4%%date:5,2%%date:~8,2%.txt”
(
echo.
echo ========================= 正在清除过期归档文件,请稍等… %date% %time% =========================
echo.
rman cmdfile=D:\app\admin\del_archivelog.txt
echo.
echo ========================= 【结束清理 %date% %time%】 =========================
echo.
)>>D:\app\admin%filename% 2>&1<nul
pause
说明:注意修改文件路径
4、测试删除归档日志的脚本
del_archivelog.txt
del_archivelog.bat
(1)、先查看归档日志路径,确认归档日志文件信息情况。
—首先进入SQL Plus查看归档日志的位置
SQL > show parameter recover;
NAME TYPE VALUE


db_recovery_file_dest string D:\PRODD\flash_recovery_area
db_recovery_file_dest_size big integer 4G

—随便打开一个在清理范围内的日期文件夹,示例:2019_12_31 文件夹中已有3个归档文件
(2)、双击del_archivelog.bat脚本,然后将自动生成日志文件del_archivelog_task_log_20190202.txt
(3)、双击日志文件del_archivelog_task_log_20190202.txt,查看执行情况
(4)、再回到前面打开的清理范围内的日期2019_12_31 文件夹查看文件是否已被删除:已删除
5、添加系统任务计划,位置:开始 => 所有程序 => 附件 => 系统工具 => 任务计划
–双击打开任务计划程序
–点击右侧新建任务
–填写任务基本信息如下:
名称:oracle定时清理7天前的归档日志
描述:oracle定时清理7天前的归档日志
不管用户是否登录都要运行
取消不存储密码
使用最高权限运行
–新建触发器
选择每天和开始时间和间隔时间其他保持默认
–选择操作 > 新建操作 - >浏览选择del_archivelog.bat脚本文件
–选择条件:取消电源中选项
–选择设置:勾选如下条件
允许按需运行任务
如果任务失败。。。。1分钟
尝试重新启动最多次数:3次
–如果任务运行时间超过以下时间,停止任务
–如果请求后任务还在运行,强行将其停止
到此整个Windows下的配置已结束,注意定期观察任务的运行情况。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值