【翻译自mos文章】job 不能自己主动执行--这是另外一个mos文章,本文章有13个解决方法

job 不能自己主动执行--这是另外一个mos文章

參考原文:

Jobs Not Executing Automatically (Doc ID 313102.1)

适用于:

Oracle Database - Enterprise Edition - Version 9.2.0.3 to 10.2.0.4 [Release 9.2 to 10.2]

Information in this document applies to any platform.

症状:

job已经非常长时间没有自己主动执行了。

假设强制运行(exec dbms_job.run(<enter here job number>);), 这些job是能成功运行的。

原因:

依照例如以下步骤检查job无法自己主动运行的原因:

1) instance处于RESTRICTED SESSIONS 模式?

select instance_name,logins from v$instance;

If logins=RESTRICTED, then:

alter system disable restricted session;

--->注意,正常情况下。logins应该返回: ALLOWED

2)JOB_QUEUE_PROCESSES=0

show parameter job_queue_processes

一定要让job_queue_processes这个參数大于零。

3)隐含參数_SYSTEM_TRIG_ENABLED=FALSE

col parameter format a25

col value format a15

select a.ksppinm parameter,b.ksppstvl value from x$ksppi a,x$ksppcv b

where a.indx=b.indx and ksppinm=‘_system_trig_enabled‘;

假设 _system_trig_enabled=false, 那么运行例如以下命令改为true

alter system set "_system_trig_enabled"=TRUE scope=both;

4)job 被broken了 ?

select job,broken from dba_jobs where job=<job_number>;

假设job被broken了。那么请检查alert日志和trace file 来诊断broken的原因。

5)job 带commitkeyword了?

一定要保证 commit 出如今submit job之后

DECLARE X NUMBER;

BEGIN

SYS.DBMS_JOB.SUBMIT

(

job => X

,what => ‘dbms_utility.analyze_schema

(‘‘SCOTT‘‘,‘‘COMPUTE‘‘,NULL,NULL,NULL);‘

,next_date => to_date(‘08/06/2005 09:35:00‘,‘dd/mm/yyyy hh24:mi:ss‘)

,no_parse => FALSE

);

COMMIT;   --->注意:这个COMMIT一定得有。

END;

/

假设强制运行job是ok的(比方这么运行 exec dbms_jobs.run(<job_no>);),那么非常可能是缺少一个commit

6)os 已经启动超过497天

检查数据库server操作系统是否已经启动超过497天。

对于linux,unix而言。请使用uptime来检查。

假设uptime的结果大于497天。而且job不能自己主动运行。那么就遇到了未公开的bug3427424(Jobs may stop running after 497 days uptime)

该bug 在9026 和10gR2上被修复(fix)

7)dba_jobs_running

检查dba_jobs_running视图确认,该job是否依旧在执行。

8) LAST_DATE and NEXT_DATE (在dba_jobs这个视图中)

检查相关job的 LAST_DATE 和 NEXT_DATE 列的内容。

select Job,Next_date,Last_date from dba_jobs where job=<job_number>;

假设NEXT_DATE 是正常的。可是LAST_DATE 是null的。那么该job 永远不会自己主动运行。

9) NEXT_DATE and INTERVAL(在dba_jobs这个视图中)

检查 NEXT_DATE 是否随interval 的设置在变化

select Job,Interval,Next_date,Last_date from dba_jobs where job=<job_number>;

10)对JOB_QUEUE_PROCESSES切换值

停止并重新启动cjq 进程

alter system set job_queue_processes=0 ;

--<等待一会以保证cjq进程停止>

alter system set job_queue_processes=4 ;

參考bug2649244 (该bug 在9015, 9203, 10201中被修复)

11)检查不成功的shutdown

一个shutdown immediate 可能被取消(conceled),由于active session 阻止 database 的关闭。

请检查alert 日志,查看最后两次的shutdown immediate。是否有例如以下的信息:

SHUTDOWN: Active sessions prevent database close operation

请參考:

Note 434690.1 - Database Jobs Do Not Run After a Failed ‘Shutdown Immediate‘

12)  DBMS_IJOB (该package 未在文档上记载)

Either restart the database or try the following:

exec dbms_ijob.set_enabled(true);

Ref: Bug 3505718 (Closed, Not a Bug)

13)检查 视图 DBA_SCHEDULER_GLOBAL_ATTRIBUTE 的 CURRENT_OPEN_WINDOW 属性值

If a window is open ,close it (e.g.):

ATTRIBUTE_NAME                       VALUE

---------------------------------       ----------------------------

CURRENT_OPEN_WINDOW            WEEKNIGHT_WINDOW

SQL> exec DBMS_SCHEDULER.close_window (‘WEEKNIGHT_WINDOW‘);

解决方式:

不再翻译。

该解决方式是针对os已经启动126天之后。job就无法自己主动执行的。

时间: 2024-10-07 21:12:36

【翻译自mos文章】job 不能自己主动执行--这是另外一个mos文章,本文章有13个解决方法的相关文章

【翻译自mos文章】job 不能自动运行--这是另外一个mos文章,本文章有13个解决方法

job 不能自动运行--这是另外一个mos文章 参考原文: Jobs Not Executing Automatically (Doc ID 313102.1) 适用于: Oracle Database - Enterprise Edition - Version 9.2.0.3 to 10.2.0.4 [Release 9.2 to 10.2] Information in this document applies to any platform. 症状: job已经很长时间没有自动运行了.

c++为什么代码执行性后出现一个黑框(命令窗口)一闪而过解决办法

VS2012 输入代码执行后屏幕一闪而过不出现显示框: #include <iostream>int main (){ using namespace std; const int ArSize = 20; char name[ArSize]; char dessert[ArSize]; cout <<"Enter your name:\n"; cin.getline(name,ArSize); cout <<"Enter your fav

Linux执行.sh文件,提示No such file or directory的问题的解决方法

Linux执行.sh文件,提示No such file or directory的问题在window平台下,写好shell脚本文件,迁移到linux平台,赋过可执行权限,执行该sh文件,却提示No such file or directory.ls 了下,确实有该文件,怎么会事呢,难道是文件格式兼容性问题?用vim打开该sh文件,输入:[plain]:set ff 回车,显示fileformat=dos,重新设置下文件格式:[plain]:set ff=unix 保存退出:[plain]:wq 

【翻译自mos文章】job 不能自己主动运行的解决方法

job 不能自己主动运行的解决方法 參考原文: Jobs do not execute automatically (Doc ID 309945.1) 适用于: Oracle Server - Enterprise Edition - Version: 9.2.0.4 This problem can occur on any platform. 症状: Job 不能自己主动运行. JOB_QUEUE_PROCESSES 已经设置为大于0的值 你已经检查过 sga 变量kkjsre 的值,该值为

【翻译自mos文章】job 不能自动执行的解决方法

job 不能自动执行的解决方法 参考原文: Jobs do not execute automatically (Doc ID 309945.1) 适用于: Oracle Server - Enterprise Edition - Version: 9.2.0.4 This problem can occur on any platform. 症状: Job 不能自动执行. JOB_QUEUE_PROCESSES 已经设置为大于0的值 你已经检查过 sga 变量kkjsre 的值,该值为0 例子

猫猫学iOS之小知识之_xcode插件的删除方法_自己主动提示图片插件KSImageNamed有时不灵_分类或宏之类不能自己主动提示,

猫猫分享,必须精品 原创文章.欢迎转载. 转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243 一:解决解决自己主动提示图片插件KSImageNamed有时不灵_分类或宏之类不能自己主动提示 事实上.插件神马的我们自己也能写.并没有想象中的那么难,只是眼下我们还是先解决当前问题 在做微博项目时候.抽取的分类有一个 +(instancetype)imageWithOriginalName:(NSString *)imageName; 可是调用的时候,当中字

Linux 服务的加入删除,自己主动执行及状态

CAMS 在安装过程中会自己主动加入相关的服务.在安装的最后过程中会提示用户是否启动服务使服务生效,须要注意的是一个服务被加入后并不表示该服务在系统启动过程中会自己主动执行,仅表示能够使用service 命令来启动停止服务. 1. 加入服务 加入服务的步骤为: a. 将该服务的脚本文件拷入/etc/rc.d/init.d 目录下保证其状态为可运行 b. 使用chkconfig 命令将服务加入到服务列表中chkconfig --add camsd (注意有两个-) 将服务加入以后.该服务即能够使用

执行游戏时出现0xc000007b错误的解决方法

如图,这个错误使无数玩家烦恼. 出现这个错误,可能是硬件的问题,也可能是软件的问题.可是,因为硬件引起该问题的概率非常小,而且除了更换硬件之外没有更好的解决方法,因此本文将具体介绍怎样通过软件解决此问题,这也是大家最关心的. 大致介绍一下这个错误是怎样发生的.这个错误的本意是提示内存错误,可是通常情况下并非内存存在问题,而是因为软件的问题产生了这个错误.到底是什么软件的问题呢?答案是DirectX,而且多数情况下是DirectX 9.0的问题. 或许大家会问了:我玩的游戏都有DirextX 11

0当执行游戏xc000007b错误的解决方法

如图所示,这个错误是让很多玩家担心. 出现这个错误,可能是硬件的问题,也可能是软件的问题. 可是.因为硬件引起该问题的概率非常小,而且除了更换硬件之外没有更好的解决方法,因此本文将具体介绍怎样通过软件解决此问题,这也是大家最关心的. 大致介绍一下这个错误是怎样发生的. 这个错误的本意是提示内存错误,可是通常情况下并非内存存在问题,而是因为软件的问题产生了这个错误. 到底是什么软件的问题呢?答案是DirectX,而且多数情况下是DirectX 9.0的问题. 或许大家会问了:我玩的游戏都有Dire