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就无法自己主动执行的。

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

  1. 测者的测试技术手册:Junit执行单元测试用例成功,mvn test却失败的问题和解决方法

    今天遇见了一个奇怪的问题,在IDE中run unit test,全部cases都成功了,但是后来通过mvn test运行case确保错了.在寻求原因的同时也找到了对应的解决方法. Run Unit T ...

  2. PyQt程序执行时报错:AttributeError: 'winTest' object has no attribute 'setCentralWidget'的解决方法

    用QtDesigner设计了一个UI界面,保存在文件Ui_wintest.ui中,界面中使用了MainWindow窗口,窗口名字也叫MainWindow,用PyUIC将其转换成了 Ui_wintest ...

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

    job 不能自己主动运行的解决方法 參考原文: Jobs do not execute automatically (Doc ID 309945.1) 适用于: Oracle Server - Ent ...

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

    猫猫分享,必须精品 原创文章.欢迎转载. 转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243 一:解决解决自己主动提示图片插件KSImageNamed有时不 ...

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

    CAMS 在安装过程中会自己主动加入相关的服务.在安装的最后过程中会提示用户是否启动服务使服务生效,须要注意的是一个服务被加入后并不表示该服务在系统启动过程中会自己主动执行,仅表示能够使用servic ...

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

    如图,这个错误使无数玩家烦恼. 出现这个错误,可能是硬件的问题,也可能是软件的问题.可是,因为硬件引起该问题的概率非常小,而且除了更换硬件之外没有更好的解决方法,因此本文将具体介绍怎样通过软件解决此问 ...

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

    如图所示,这个错误是让很多玩家担心. 出现这个错误,可能是硬件的问题,也可能是软件的问题. 可是.因为硬件引起该问题的概率非常小,而且除了更换硬件之外没有更好的解决方法,因此本文将具体介绍怎样通过软件 ...

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

    如图,这个错误使无数玩家烦恼. 出现这个错误,可能是硬件的问题,也可能是软件的问题.可是,因为硬件引起该问题的概率非常小,而且除了更换硬件之外没有更好的解决方法,因此本文将具体介绍怎样通过软件解决此问 ...

  9. ubuntu使用ssh登入不执行.bashrc解决方法

    解决方法,可以直接输入 bash即可. 理解 bashrc 和 profile linux bashrc profile SEP 30TH, 2011 BY SUNTEYA 在一般的 linux 或者 ...

随机推荐

  1. matlab工作空间,变量的保存和载入

    对于工作空间中变量的保存和载入可以使用save和load命令,详细的使用方法通过help指令获取(help save,help load). ​两条指令最常用的情况为: 1.% 保存整个工作空间至指定 ...

  2. 设计好玩的3D文字效果

    ​在线演示 本地下载 好玩的3D文字效果,可以替换汉字.快来试试吧!

  3. SQLServer 之 树查询

    一.SqlServer树查询 1.使用公用表表达式(CTE) 很多人可能想要查询整个树形表关联的内容都会通过循环递归来查...事实上在微软在SQL2005或以上版本就能用别的语法进行查询,下面是示例. ...

  4. PHP高级教程-邮件

    PHP 发送电子邮件 PHP 允许您从脚本直接发送电子邮件. PHP mail() 函数 PHP mail() 函数用于从脚本中发送电子邮件. 语法 mail(to,subject,message,h ...

  5. client高性能组件化框架React简单介绍、特点、环境搭建及经常使用语法

    [本文源址:http://blog.csdn.net/q1056843325/article/details/54729657 转载请加入该地址] 明天就是除夕了 预祝大家新春快乐 [ ]~( ̄▽ ̄) ...

  6. 深入浅出 - Android系统移植与平台开发(十三)- Android的对象管理

    第六章.Android的对象管理 在Java中,不再使用的对象会通过gc机制来自己主动回收.而Android系统执行时库层代码是由C++编写的,在C++中创建的对象通常使用指针来操作,一旦使用不当.轻 ...

  7. mysqld: unrecognized service

    为了快速搭建了测试环境yum安装了MySQL. 执行 [root@localhost bin]#mysql ERROR 2002 (HY000): Can't connect to local MyS ...

  8. MVC时间对比及时间范围判断

    方法一:使用DateTime.Compare 方法 public static int Compare( DateTime t1, DateTime t2 ) t1 早于 t2:小于零t1 与 t2  ...

  9. BZOJ 1040 ZJOI 2008 骑士 基环树林+树形DP

    题目大意:有一些骑士.他们每个人都有一个权值.可是因为一些问题,每个骑士都特别讨厌还有一个骑士.所以不能把他们安排在一起.求这些骑士所组成的编队的最大权值和是多少. 思路:首先貌似是有向图的样子,可是 ...

  10. sql遍历全部数据集

    DECLARE @a int set @a = 1 while @a < 5 BEGIN select top(1) * from QPShuGameMatchDB..MatchScoreSta ...