写了一个存储过程
又写了一个job,每天凌晨1点运行一次存储过程
问题:
万一job停止运行了,我咋知道?
我该如何监视job呢?

解决方案 »

  1.   

    两种方法
    1.sql/plus ,查询表dba_jobs;
    2.通过ORACLE管理软件查看,如果不正常,作业会显示红色等警告信息.
      

  2.   

    楼上说的有道理,确实可以查看到job的运行状态。
    select * from user_jobs;
    如果FAILURES>0,就停止了。如果停止了,如何让它自动再运行?
    难道再写一个job来监视job?
    我不想人工控制!
    大家的这种定时执行的东西,都是怎么处理的?
    是job还是其他?
      

  3.   

    查看all_jobs表
    里面有个broken字段标记job是否运行
    如果执行失败,会重试16次,还不能成功的话才会标记为broken
    所以如果job停止,先检查下原因,只是让其自动再运行没什么意义
      

  4.   

    顶一下
       oracle QQ群:54775466
               欢迎爱好者 一起入群探讨
      

  5.   

    你可以从user_jobs、dba_jobs、all_jobs中通过查看以上三个视图中的
    LAST_DATE,LAST_SEC,THIS_DATE,THIS_SEC,NEXT_DATE,NEXT_SEC字段看是否是按照你设定的时间进行按时执行的。如果job执行的时间间隔不是你设定的,则证明该job有问题。
      

  6.   

    1,如果是普通用户,就查 user_jobs来看 last_date、this_date、next_date值判断job运行情况。2,如果是dba用户,建议查询 dba_jobs来看last_date、this_date、next_date值判断job运行情况。