Oracle dbms_scheduler用法和Job不自动执行原因
发布日期:2021-05-14 05:21:51 浏览次数:27 分类:精选文章

本文共 1795 字,大约阅读时间需要 5 分钟。

DBMS调度器用法说明

前提条件:job_queue_processes参数

DBMS调度器中的 job_queue_processes 参数用于设置每个实例可执行任务的最大子进程数量,该参数对DBMS_JOB和DBMS调度器的共享。以下是参数的作用:

  • 值为0时:任务将不会自动执行,但可以手动执行。
  • 任务数量超过参数值时:超出限制的任务将被排队等待处理。
  • 实际执行的子进程数量由以下因素决定
    • 该参数设置的并发最大子进程数。
    • 系统可用资源情况。
    • 资源管理器的配置。
    • 当前正在执行的任务。
  • 注意:这也是为什么提交任务后不会自动执行的主要原因。

    DBMS调度器操作说明

    创建带参数的任务

    要在DBMS调度器中创建带参数的任务,可以按照以下步骤操作:

    begin
    dbms_scheduler.create_job(
    job_name => 'MONITER',
    job_type => 'STORED_PROCEDURE',
    job_action => 'sp_insert',
    number_of_arguments => 2,
    start_date => to_date('20180821151800', 'yyyymmddhh24miss'),
    repeat_interval => 'FREQ=minutely; INTERVAL=2',
    comments => 'scheduler test'
    );
    dbms_scheduler.set_job_argument_value(
    job_name => 'MONITER',
    argument_position => 1,
    argument_value => 'scheduler1'
    );
    dbms_scheduler.set_job_argument_value(
    job_name => 'MONITER',
    argument_position => 2,
    argument_value => '10'
    );
    dbms_scheduler.enable('MONITER');
    end;

    说明

    • dbms_scheduler.create_job 函数用于创建任务,需在创建时定义参数个数,否则后续传递参数可能会报错(如ORA-27465)。
    • dbms_scheduler.set_job_argument_value 函数用于设置任务参数,和 dbms_job 的使用方式不同,不能直接传递参数字符串。
    • dbms_scheduler.enable 函数用于启用任务,才能保证任务能够正常执行。

    查看当前任务状态

    要查看当前调度器中的任务状态,可以执行以下查询:

    select 
    sysdate,
    t.job_name,
    t.job_action,
    t.state,
    t.start_date,
    t.repeat_interval,
    t.*
    from user_scheduler_jobs t;

    查看任务执行日志

    要查看任务执行日志,可以执行以下查询:

    select * from all_scheduler_job_log t 
    where owner = 'HF' and t.job_name = 'MONITER'
    order by t.log_date desc;
    select * from all_scheduler_job_run_details t
    where owner = 'HF' and t.job_name = 'MONITER'
    order by t.log_date desc;

    其他操作

  • 删除任务:可以使用以下命令删除指定名称的任务:
  • dbms_scheduler.drop_job(job_name => '任务名称');
    1. 修改任务参数:可以使用 dbms_scheduler.set_job_argument_value 函数修改任务参数,具体操作方法与创建任务类似。
    上一篇:Oracle Job排队执行实验
    下一篇:数据挖掘相关基础数学知识

    发表评论

    最新留言

    网站不错 人气很旺了 加油
    [***.192.178.218]2025年04月27日 04时51分34秒