JOB不自动运行的排查方法
我是本际云服务器推荐网的小编小本本。在使用12.1.0.1的库时,我们遇到了JOB不自动运行的问题。经过检查发现,作业队列调度进程CJQ0进程被阻塞,进而阻塞了JOB的调度。在SR方面,我们怀疑是“Bug27223075-WaitforPXDeq:JoinAckwhennoactiveQCbutPPA*slavesshowasbusy”,建议是升级数据库到19C或者定期重启。但是考虑到生产环境,我们不想随意折腾数据库。于是,我们尝试杀掉阻塞CJQ0进程,观察到数据库自动拉起了CJQ0进程,一段时间之后JOB恢复了正常调度。

常见排查方法
根据MOS上的文章“JobsNotExecutingAutomatically(DocID313102.1)”,对JOB不自动执行的情况,列举以下可能的原因及排查方法:
- InstanceinRESTRICTEDSESSIONSmode:检查实例是否为受限模式:
- JOB_QUEUE_PROCESSES=0:确认参数大于0:
- _SYSTEM_TRIG_ENABLED=FALSE:确认参数“_system_enabled_trigger”是否为false:
- IsthejobBROKEN:检查JOB是否为broken,确认原因:
- IsthejobCOMMITTED:确认提交JOB之后是否缺少commit:
- UPTIME>497days:确认服务器主机是否已运行超过497天:
- DBA_JOBS_RUNNING:查看视图dba_jobs_running视图查看JOB是否还在运行:
- LAST_DATEandNEXT_DATE:确认JOB的last_date和next_date设置是否正确:
- NEXT_DATEandINTERVAL:查看dba_jobs视图,检查next_date是否根据interval正确变更:
- TogglevalueforJOB_QUEUE_PROCESSES:设置job_queue_processes=0,等待一段时间后,重新设置回原来的值,此操作实际上就是重启CJQ0进程:
- DBMS_IJOB:尝试下面的操作:
select instance_name,logins from v$instance;
如果logins= RESTRICTED,则执行:alter system disable restricted session;
show parameter job_queue_processes
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,则执行:alter system set "_system_trig_enabled"=TRUE scope=both;
select job, broken from dba_jobs where job=;
如果JOB通过强制执行可以正常运行,那么可能是缺少commit。例如:
DECLARE X NUMBER; BEGIN SYS.DBMS_JOB.SUBMIT(job=>X,what=>...
在oracle老版本9i和10g中,如果服务器启动时间大于497天,可能会命中bug-3427424(Jobsmaystoprunningafter497daysuptime),需要重启服务器解决,可执行命令:uptime
select * from dba_jobs_running;
如果JOB状态是running,检查以下两个视图v$access、v$locked_object,找出JOB使用的资源被什么进程锁定了。
select job, next_date, last_date from dba_jobs where job=;
select job, interval, next_date, last_date from dba_jobs where job=;
alter system set job_queue_processes=0;
alter system set job_queue_processes=4;
exec dbms_ijob.set_enabled(true);
以上就是JOB不自动运行的排查方法,希望对大家有所帮助!
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6445.html
