ORA-27478 Job 无法执行

2021-08-17 15:18:53 浏览数 (1)

一、问题描述

今天有位客户发现自定义JOB长时间没有自动执行,并且无法执行。

报错如下:

代码语言:javascript复制
ORA-27478: job "is running"
ORA-06512: at "SYS.DBMS_ISCHED", line 182
ORA-06512: at "SYS.DBMS_SCHEDULER", line 615
ORA-06512: at line 1

二、问题排查

1、通过查询v$session视图确定hang住的会话相关信息;

2、通过dba_jobs_running和dba_scheduler_running_jobs数据字典确定了该job调用方式为Scheduler;

3、查询发现客户反馈的JOB目前处于running,并且长时间Hang住;

代码语言:javascript复制
select job_name, session_id, cpu_used
  from dba_scheduler_running_jobs
 where owner = '***';

三、解决方案

1、强制停止JOB

代码语言:javascript复制
begin
  dbms_scheduler.stop_job(job_name => 'JOB_NAME', force => TRUE);
end;

2、DISABLE JOB

代码语言:javascript复制
begin
  dbms_scheduler.disable('JOB_NAME');
end;

3、ENABLE JOB

代码语言:javascript复制
begin
  dbms_scheduler.enable('JOB_NAME');
end;

4、查看JOB运行情况,已恢复正常

代码语言:javascript复制
select *
  from Dba_Scheduler_Job_Run_Details
 where job_name = 'JOB_NAME'
 order by log_date desc;

0 人点赞