概述

分享一个winserver自动清理Oracle过期归档日志脚本

最近某台oracle数据库中的归档日志太多了,一天都有几十G的归档日志产生,总是提示归档空间满,导致orcle总是与服务器断开,所以就写了个定期清理Oracle归档日志的脚本,先看下整体思路。


思路

自动删除Oracle过期归档日志的思路如下:

  • 1、编写自动执行的bat脚本文件;
  • 2、设置定期执行计划

1、归档脚本

脚本如下:

E:HRDB_BACKUParchclear_arch.bat

rman target / msglog=E:HRDB_BACKUParchlog%date:~0,10%.log cmdfile=E:HRDB_BACKUParchclear_arch.txt

E:HRDB_BACKUParchclear_arch.txt

CROSSCHECK ARCHIVELOG ALL;
DELETE NOPROMPT ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-3';
BACKUP VALIDATE ARCHIVELOG ALL;
EXIT;

其中,SYSDATE-3表示自动删除3天之前所有的归档日志。

 

2、设置windows定时任务

cmd 下 执行 taskschd.msc, 进入到windows的任务计划界面,

或者点击"控制面板",在接下来的控制面板项中找到“管理工具"并打开,在管理工具菜单菜单中找到“任务计划程序”并双击打开

 

1、新建基本任务

 

2、输入任务名称

 

3、选择周期

 

4、选择周期启动时间

 

5、操作类型选择启动程序

 

6、设置脚本位置

 

7、设置完成

 

8、确定

 

9、测试

测试成功。

 


胜象大百科