重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4527|回复: 0
打印 上一主题 下一主题

[Oracle] oracle查询Scheduler Job

[复制链接]
跳转到指定楼层
楼主
发表于 2019-12-27 17:12:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 王亮 于 2019-12-27 17:16 编辑

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;



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-11-30 12:06 , Processed in 0.100055 second(s), 21 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表