暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

job无法运行排查以及延迟排查

原创 许玉冲 2023-08-01
207

参考:

Jobs Not Executing Automatically (Doc ID 313102.1)	
Reason for Scheduler Jobs are NOT running status (Doc ID 2631878.1)	https://blog.pythian.com/oracle-scheduler-job-is-not-running-as-expected-after-bouncing-databases/
http://blog.itpub.net/8520577/viewspace-2126074/

1,检查进行:

[oracle@server ~]$ ps -ef | grep -i cjq

oracle 63164 49635 0 11:39 pts/1 00:00:00 grep --color=auto -i cjq


2,测试job

SQL> BEGIN
2 DBMS_SCHEDULER.CREATE_JOB (
3 job_name => 'My_Count_Job',
4 job_type => 'STORED_PROCEDURE',
5 job_action => 'count_comp',
6 start_date => SYSTIMESTAMP,
7 repeat_interval => 'FREQ=MINUTELY; INTERVAL=2',
8 auto_drop => FALSE,
9 enabled =>TRUE,
10 comments => 'My new job');
11 END;
12 /

PL/SQL procedure successfully completed.

SQL> SET LINESIZE 1000
SQL> COLUMN OWNER FORMAT A20
SQL> COLUMN SCHEDULE_NAME FORMAT A20
SQL> COLUMN REPEAT_INTERVAL FORMAT A50
SQL> COLUMN START_DATE FORMAT A45
SQL> COLUMN LAST_START_DATE FORMAT A45
SQL> COLUMN END_DATE FORMAT A45
SQL> COLUMN JOB_NAME FORMAT a40
SQL> SELECT OWNER, JOB_NAME, SCHEDULE_NAME, START_DATE, LAST_START_DATE, REPEAT_INTERVAL, ENABLED FROM DBA_SCHEDULER_JOBS where job_name='MY_COUNT_JOB';
OWNER JOB_NAME SCHEDULE_NAME START_DATE LAST_START_DATE NEXT_RUN_DATE REPEAT_INTERVAL ENABL
-------------------- ---------------------------------------- -------------------- --------------------------------------------- --------------------------------------------- --------------------------------------------------------------------------- -------------------------------------------------- -----
SYS MY_COUNT_JOB 03-AUG-21 04.08.34.000000 PM -06:00 03-AUG-21 04.08.34.000000 PM -06:00 FREQ=MINUTELY; INTERVAL=2 TRUE




If a simple run-once job doesn't run, you can try restarting the scheduler as follows.

SQL> exec dbms_scheduler.set_scheduler_attribute('SCHEDULER_DISABLED', 'TRUE');
SQL> alter system set job_queue_processes=0;
SQL> exec dbms_ijob.set_enabled(FALSE);
SQL>
SQL> alter system flush shared_pool;
SQL> alter system flush shared_pool;
SQL>
SQL> exec dbms_ijob.set_enabled(TRUE);
SQL> alter system set job_queue_processes=99;
SQL> exec dbms_scheduler.set_scheduler_attribute('SCHEDULER_DISABLED', 'FALSE');


#清理日志:

dbms_scheduler.purge_log();

最后修改时间:2023-08-01 15:05:54
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论