oracle job之前还可以自动执行,后来不能自动执行?
通过ps -ef |grep ora_j查看oracle 的job进程,未发现相关的job进程;
[oracle@ncb1dg ~]$ ps -ef |grep ora_j
oracle 13527 24508 0 15:13 pts/4 00:00:00 grep ora_j
查看all_jobs 视图查看job最后执行时间和下一次执行时间等详细信息
select log_user,priv_user,schema_user,last_date,next_date,broken,interval from all_jobs where broken='N';
log_user | priv_user | schema_user | last_date | next_date | broken | interval |
test | test | test | 2015/11/16 15:23 | 2015/11/16 15:24 | N | sysdate+1/(24*60) |
test | test | test | 2015/11/16 15:18 | 2015/11/16 15:28 | N | SYSDATE+10/1440 |
test | test | test | 2015/11/16 15:24 | 2015/11/16 15:29 | N | sysdate+5/(24*60) |
发现jobs没有中断,以及通过DBA_JOBS_RUNNING查看相关的job也没有hang住。
通过查看当前数据库的job_queue_processes也大于0 ,job还是无法自动执行
SQL> show parameter job
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
job_queue_processes integer 10
后来发现由于修改了OS时区导致的。解决方法:
1、重启数据库。
2、修改OS时区,修改系统时间,重新执行job。