暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 调度程序在克隆后不运行

ASKTOM 2021-07-09
534

问题描述

嗨,克里斯/康纳,

我们对一个新克隆的数据库产生了奇怪的影响,我的dba自三天以来一直在努力解决这个问题-所以我想也许我问你;-)
这是我们的设置:

升级 (我们的生产数据库) 到Oracle 19.11后。我们想获得一个新的测试-DB-所以我们通过数据库链接到我们的测试机克隆了我们的生产数据库 (集群的备用部分)。遇到一些问题后 (我们不得不将标准数据库切换到 “应用关闭”),效果很好,我有一份完整的产品副本,可以用于测试。

但是: 调度程序有问题。所有工作都没有进行。当我查询sys.user_scheduler_jobs和sys.user_scheduler_job_run_details时,我看到所有已定义的作业,但是所有条目都有克隆之前的时间戳。

即使我创建了一个新作业,它也不会在计划的时间执行。我尝试了一个非常简单的PLSQL_BLOCK作业,该作业仅在表中执行一个条目-但它不执行。如果我发出DBMS_SCHEDULER.RUN_JOB,则该方法有效-但前提是我将use_current_session选项设置为TRUE... :-(

我的印象是,这一切有一个真正简单、显而易见的原因...但是我们似乎都是盲目的;-)

您是否知道我们缺少什么或可以检查的提示?
我们还检查了DB参数 “job_queue_processes”,它被设置为160-并且所有作业都属于DEFAULT_JOB_CLASS。
还有一个提示: 如果我从SQLDeveloper开始其中一项工作,我会立即得到 “成功” 的响应-但没有执行任何操作。

非常感谢您的支持
拉尔夫

PS:
这是我创建的作业 (PA_TRACE是一个将日志消息写入表的包)

begin
DBMS_SCHEDULER.CREATE_JOB(
       job_name          => 'TESTRK'
      ,job_type          => 'PLSQL_BLOCK'
      ,job_action        => 'begin schedule.pa_trace.trace(''Test by rkoellin'');end;'
      ,start_date        => sysdate
      ,repeat_interval   => 'FREQ = MINUTELY; INTERVAL = 5' -- run every 5 Minutes
      ,enabled           => TRUE
      ,auto_drop         => FALSE
      ,comments          => 'Test created by RKOELLIN' );
end;
/
复制

专家解答

MOS note 2631878.1运行了一大堆东西来检查调度程序作业是否没有运行。

您可能已经检查过许多这些事情 (job_queue_processes,整体数据库会话等)。

有一个未记录的调度程序属性,尽管您可能不知道-SCHEDULER_DISABLED

select value 
from   dba_scheduler_global_attribute 
where  attribute_name='SCHEDULER_DISABLED';

VALUE   
true     
复制


如果这是真的,它将禁用调度程序。将其设置为false以重新启用它们:

exec dbms_scheduler.set_scheduler_attribute('scheduler_disabled','false');
复制


如果仍然不是问题,请查看MOS注释,如果仍然遇到问题,请与支持人员联系。
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论