度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 2456|回复: 3
打印 上一主题 下一主题

[分享] 自动监控和重置Oracle的异常执行的job

[复制链接]

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
跳转到指定楼层
楼主
发表于 2020-7-9 15:03:24 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
--监控JOB是否执行有异常或有停止的现象
CREATE OR REPLACE PROCEDURE P_JOB_MONITORING AS
BEGIN
  FOR V IN (SELECT JOB, WHAT, FAILURES, BROKEN
              FROM USER_JOBS T
             WHERE T.FAILURES > 15
                OR T.BROKEN = 'Y'
                OR T.NEXT_DATE > TO_DATE('2070-01-01', 'yyyy-MM-dd')) LOOP
    DBMS_OUTPUT.PUT_LINE(V.WHAT || '执行异常,请检查!');
    DBMS_JOB.RUN(V.JOB);
    DBMS_JOB.BROKEN(V.JOB, FALSE);
  END LOOP;
END;
/


--1个小时执行下这个存储过程
VARIABLE JOB_NO NUMBER;
BEGIN
DBMS_JOB.SUBMIT(:JOB_NO,'P_JOB_MONITORING;',SYSDATE,'sysdate+1/24');
COMMIT;
END;
/
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
沙发
 楼主| 发表于 2020-7-19 16:27:19 | 显示全部楼层
回复 支持 反对

使用道具 举报

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

本版积分规则

手机版|小黑屋|玉祥公司客服-玉祥集团客服  本站关键词:快速开发平台

GMT+8, 2024-5-17 21:29 , Processed in 0.118466 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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