【翻译自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 带commit关键字了?

一定要保证 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天

检查数据库服务器操作系统是否已经启动超过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个解决方法

时间: 2024-10-05 03:26:23

【翻译自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已经非常长时间没有自己主

【REACT NATIVE 系列教程之十】真机运行报错COMMAND /BIN/SH FAILED WITH EXIT CODE 1 的解决方法

本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/react-native/2315.html Himi最近在真机运行遇到  Command /bin/sh failed with exit code 1  的错误, 模拟器运行没有任何问题.此问题已解决,这里分享下解决方案. 先来看下错误日志,如下图: 主要是划线的部分: 1.PhaseScriptExecution Bundle\ Reac

tomcat运行时候出现java.net.BindException: Address already in use: JVM_Bind错误解决方法

问题原因:我们在运行tomcat时候一般用8080端口,但是当端口被占用的时候便不能正常使用tomcat并且会造成上述的错误.而端口被占用的原因有很多,这次的原因是因为装好tomcat以后已经启动了一个tomcat再启动就会被占用 解决方法:1.如果你先前启动了一个tomcat,先在屏幕右下角找到它然后关闭: 2.如果无效,就打开命令行(开始-->输入cmd),然后输入netstat -ano如下图,就可以查看 然后找到8080端口以及他对应的PID 用Ctrl+alt+delete键打开任务管

Myeclipse运行报错:an out of memory error has occurred的解决方法

不知道怎么了,重装的myeclipse2013,里边就放了一个项目,启动myeclipse就报 an out of memory error has occurred....... 一点yes就退出 解决方法: 修改 myeclipse安装目录下的 myeclipse.ini 文件,修改 java的内存分配 myeclipse.ini 文件中 java堆内存的定义 -Xms128m 表示JVM Heap(堆内存)初始分配,128MB.            -Xmx512m 表示JVM Heap

使用新建项目,引用底层库,运行时提示http://www.xinxizhan.cn/none-authorization.html。无授权解决方法

在App.xaml中添加以下代码: <Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="slApp.App" xmlns:auth="clr-namespace:MapBase.Auth;assemb

webpack 运行提示“The ‘mode‘ option has not been set”的原因和解决方法

最近在研究webpack,当我执行npm run build / npm start / npm run server等命令时,都是提示下面的警告信息 WARNING in configurationThe 'mode' option has not been set. Set 'mode' option to 'development' or 'production' to enable defaults for this environment. 大致意思就是:未设置mode(模式),请指定

ubuntu用户注销后登录xmodmap无法自动运行

在ubuntu下通过xmodmap改变键盘映射  后,今天发现xmodmap在用户注销再次登陆后家目录的.Xmodmap不自动执行,加入到.profile也不执行,求助谷歌,解决方法如下: SUPER键调出dash 搜索Startup Applications,如果没有可以alt+f2 运行gnome-session-properties,在弹出的启动应用对话框中就可以添加启动软件,加入xmodmap .Xmodmap命令. http://askubuntu.com/questions/5415

如何在LINUX中开机、登陆、退出、定时、定期自动运行程序

1.开机启动时自动运行程序 Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init.init根据配置文件继续引导过程,启动其它进程.通常情况下,修改放置在 /etc/rc或 /etc/rc.d 或 /etc/rc?.d 目录下的脚本文件,可以使init自动启动其它程序.例如:编辑 /etc/rc.d/rc.local 文件,在文件最末加上一行“xinit”或“startx”,可以在开机启动后直接进入X-Window. 2.登录时自动运行程序 用户登录时,bash首先自动执行系

ios应用内嵌h5页面数据自动变色识别为手机号码的解决方法——手机号码拨号禁用IOS手机页面数字自动识别为手机号

现象如下,ios应用内嵌h5页面,本来是设置了白色的数字,两三秒之后会自动变为黑色,然后点击的时候就会弹出是否拨号的提示: 解决方法,添加如下meta标签,即可解决: <meta name="format-detection" content="telephone=no">