当前位置 博文首页 > LuciferLiu_DBA:ORA-27478 Job 无法执行

    LuciferLiu_DBA:ORA-27478 Job 无法执行

    作者:[db:作者] 时间:2021-06-16 14:16

    一、问题描述

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

    报错如下:

    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住;

    select job_name, session_id, cpu_used
      from dba_scheduler_running_jobs
     where owner = '***';

    三、解决方案

    1、强制停止JOB

    begin
      dbms_scheduler.stop_job(job_name => 'JOB_NAME', force => TRUE);
    end;

    2、DISABLE JOB

    begin
      dbms_scheduler.disable('JOB_NAME');
    end;

    3、ENABLE JOB

    begin
      dbms_scheduler.enable('JOB_NAME');
    end;
    

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

    select *
      from Dba_Scheduler_Job_Run_Details
     where job_name = 'JOB_NAME'
     order by log_date desc;

    ?