2021-10-30 关于ORACLE 19c DBA_JOBS不能自动执行 LAST_DATE为空 排查方式

在ORACLE19c数据库环境中,遇到DBA_JOBS任务无法自动调度的问题。排查步骤包括检查job_queue_processes参数确保其非零,修正BROKEN字段状态,以及尝试重启JOB进程。如果以上步骤无效,可能需要数据库重启。该文提供了详细的故障排除指南,帮助运维人员解决此类问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ORACLE DBA_JOBS 相关报错解决方式

背景:在新创建的ORACLE 19c单实例数据库环境,恢复生产环境数据后,发现任务调度重启、重建仍不能自动进行调度,后发现DBA_JOBS不会自动执行,NEXT_DATE正常,LAST_DATE为空,排查方法如下。

1.检查pdb及cdb job队列参数

SQL> show parameter job

若值为0或者值太小,将会影响DBA_JOB任务的执行。
与job相关的参数一个是job_queue_processes,这个是运行JOB时候所起的进程数。

当job数量大于参数值,就会有排队等候,当值为0的时候 就不会运行JOB。

ALTER SYSTEM SET job_queue_processes = 60;

2.检查JOB的BROKEN字段

若某JOB的BROKEN字段值为Y,查看DBA_JOB_RUNNING 若无记录 将值修改为N。
在这里插入图片描述

declare

BEGIN

DBMS_JOB.BROKEN(JOB_ID,FALSE);

END;

OR

SQL> exec dbms_job.broken(job_id,false);

————————————
后检查,job正常执行
在这里插入图片描述

3.如以上排查后还不能自动执行

可以考虑把JOB进程重启,防止是SNP进程死了造成JOB不跑。

ALTER SYSTEM SET job_queue_processes = 0;  --关闭进程
ALTER SYSTEM SET job_queue_processes = 60;  --恢复参数值

4.若还不行

重启大法好!


最后 祝各位运维永无坑~

Abuo.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值