网站首页 > 数据库 / 正文
Oracle的Scheduler不仅仅可以提供自动运行本地Oracle程序单元(包括PL/SQL匿名块,PL/SQL存储过程,JAVA存储过程),还可以运行Oracle数据库之外的本地或者远程服务器上的可以执行程序,例如应用,shell脚本或者批处理文件。
对于Scheduler的定义方式,Oracle提供了以下三种方式:
1.基于时间(Time-based scheduling)的日程
这种方式就是我们最常见到的,功能类似于anacron的定义方式,它可以通过指定一段时间,甚至永久的日程,来重复的在指定的时间点完成某项特定的任务。
2.基于事件(Events-based scheduling)的日程
可以在发生系统事件或者业务事件的时候,对它们进行回应来触发相关的计划任务,就像触发器,满足特定条件,或者发生指定事件,就可以触发相关的任务。这也是通过anacron没有办法完成的一种强大功能。
3.独立(Dependency scheduling)日程
这一类的日程是可以通过上一件日程的完成来触发的,上一次的Job完成之后,则会触发下一个Job,这样就形成了一条“作业链”(Job Chain),需要和基于事件的日程区分的是,系统事件和业务事件并不是一丁是之前的Job。
检查job经常使用的视图:
*_SCHEDULER_RUNNING_JOBS:描述正在运行的Job的相关信息
*_SCHEDULER_JOB_RUN_DETAILS:描述已经完成的Job是否成功,记录相关日志的视图,这里记录着所有已经执行完毕的日程
*_SCHEDULER_SCHEDULES:描述当前数据库所有已知的日程。
*_SCHEDULER_PROGRAMS:描述当前数据库已经定义完毕的程序。
*_SCHEDULER_JOBS:描述当前数据库已经定义完毕的作业。
要看系统中Job的信息与执行后状态,可以使用以下SQL
查询scheduler job信息
Selectschedule_name,start_date,repeat_interval,end_date from dba_scheduler_schedules;
查询scheduler job运行状态
selectlog_id,log_date,status,additional_info from dba_scheduler_job_run_details;
或
selectjob_name,job_creator,program_name,schedule_name,to_char(start_date,'yyyy-mm-ddhh24:mi:ss'),state from dba_scheduler_jobs;
Tags:oracle查询库
- 上一篇:oracle查看导出文件默认位置
- 下一篇:Oracle检索数据——简单查询
猜你喜欢
- 2024-11-26 Oracle数据库之高级查询一
- 2024-11-26 oracle查询用户的权限
- 2024-11-26 oracle数据库查询Sql语句是否使用索引及常见的索引失效的情况
- 2024-11-26 Oracle查询扩展
- 2024-11-26 连载四:Oracle升级文章大全(完结篇)
- 2024-11-26 Python 操作Oracle数据库常用的方法和工具
- 2024-11-26 分享两个Oracle的shell脚本---一键获得数据库实例状态、参数及包
- 2024-11-26 ORACLE 分页查询整理笔记
- 2024-11-26 详解Oracle 11g如何快速定位到lobsegment、lobindex对应的表
- 2024-11-26 日常运维笔记--给oracle用户授权,使之能查询系统视图