ITPub博客

首页 > 数据库 > Oracle > 如何使用数据库Scheduler定时删除归档|美创运维日记

如何使用数据库Scheduler定时删除归档|美创运维日记

原创 Oracle 作者:数据安全 时间:2020-08-14 15:54:26 0 删除 编辑

大家日常运维过程中是如何定期删除归档日志的呢?对于定期删归档,比较普遍的做法是是使用操作系统的crontab或者windows的任务计划功能来调用删归档脚本,今天小编给大家带来一种使用 O racle的Scheduler来调用清归档脚本以实现定时清理归档文件的方法。

 

  image.png

Oracle在10g开始就提供了Scheduler来管理定时任务,这是一个企业作业调度程序,可以帮助您简化成百上千个任务的调度。Oracle调度器(Scheduler)由DBMS_Scheduler PL/SQL包中的过程和函数实现。Scheduler帮助您有效地管理和计划任务。确保许多例行任务在没有人工干预的情况下执行,有效降低操作成本,实现更可靠的管理,最大限度地减少人为错误。它可以执行任何类型的脚本(例如:PL/SQL、OS shell脚本、第三方程序等等)。在RAC,可以指定作业应在哪个数据库节点上运行,参数项instance_id。

 

下面我们以删除归档日志为例,来使用Scheduler。

image.png  

 

01 前期数据库环境设置

修改externaljob.ora属性

image.png  

 

修改extjob属性

image.png  

 

修改externaljob.ora文件内容

image.png  

 

02准备一个删除归档脚本

image.png  

 

注意:脚本中必须使用绝对路径,必要的环境变量必须指定,且该脚本必须拥有执行权限。

 

03给执行Scheduler的用户赋权

image.png  

 

04在数据库创建一个program

image.png  

 

这里我们创建了一个任务程序单元,将其指定为可执行文件。注意这个程序单元叫什么。

 

05创建一个任务计划

image.png  

 

我们创建一个在每天凌晨一点运行一次的任务计划,该计划的名称为 'EVERY_DAY_1_00。

 

06创建一个job来调用之前创建的程序及计划

image.png  

 

07如何更改Scheduler属性设置

使用 

SET_ATTRIBUTE 与 SET_SCHEDULER_ATTRIBUTE 

存储过程来更改设置。

例如,我们将该计划的执行节点改为2节点:

 

image.png  

 

08禁用,删除任务

image.png  

 

09设置查看记录日志

设置日志:

image.png  

 

查看日志记录:

image.png  

 

image.png  

Oracle的Scheduler(任务计划),相对于 O racle之前的Job,更加地灵活易用,且支持调用shell命令或第三方程序,并提供详细的日志记录,更为详细的用法大家可以参考以下提供的官方文档,里面包括详细的使用方法以及可能会遇到的报错及处理方法。

 

参考文献

DBMS_SCHEDULER FAILS WITH ORA-27369 WHEN JOB TYPE IS EXECUTABLE (Doc ID 279866.1)

 

美创科技拥有强大的运维中心数据库服务团队,其中Oracle ACE 1人、OCM 10余人、数十名Oracle OCP、MySQL OCP、红帽RHCA、中间件weblogic、tuxedo认证、达梦工程师 ,并著有《Oracle DBA实战攻略》,《Oracle数据库性能优化方法和最佳实践》,《Oracle内核技术揭秘》等多本数据运维优化书籍。

 

如何使用数据库Scheduler定时删除归档,你学会了吗?下次再和美创一起讨论,get新的运维知识吧!



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69973247/viewspace-2711814/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-07-08

  • 博文量
    92
  • 访问量
    40081