• 二、DBMS_JOB(用于安排和管理作业队列)


    1、概述

    作用:用于安排和管理作业队列,通过使用作业,可以使ORACLE数据库定期执行特定的任务
    注意:当使用DBMS_LOB管理作业时,必须确保设置了初始化参数job_queue_processes(不能为0)

    2、包的组成

    1)、submit
    说明:用于建立一个新作业.当建立作业时,需要给作业要执行的操作,作业的下次运行日期及运行时间间隔.
    语法:
    dbms_out.submit (
    job out binary_integer,what in varchar2,
    next_date in date default sysdate,
    interval in varchar2 default 'null',
    no_parse in boolean default false,
    instance in binary_integer default any_instance,
    force in boolean default false);
    其中,job用于指定作业编号;what用于指定作业要执行的操作;next_date用于指定作业的下次运行日期;interval用于指定运行作业的时间间隔;
    no_parse用于指定是否解析与作业相关的过程;instance用于指定哪个例程可以运行作业;force用于指定是否强制运行与作业相关的例程.
    例子1:
    exec dbms_job.submit(:jobno,'dbms_ddl.analyze_object(''table'',''scott'',''emp'',''compute'');',sysdate,'sysdate+1');
    exec dbms_job.submit(:v_num,'a;',sysdate,'sysdate + (10/(24*60*60))')加入作业。间隔10秒钟
    exec dbms_job.submit(:v_num,'a;',sysdate,'sysdate + (11/(24*60))')加入作业。间隔11分钟

    2)、remove
    说明:删除作业队列中的特定作业
    语法:dbms_job.remove(job in binary_integer);
    例子:exec dbms_job.remove(21)--删除21号作业

    3)、change
    说明:用于改变与作业相关的所有信息,包括作业操作,作业运行日期以及运行时间间隔等.
    语法:
    dbms_job.change(
    job in binary_integer,what in varchar2,
    next_date in date,interval in varchar2,
    instance in binary_integer default null,
    force in boolean default false);
    例子:exec dbms_job.change(2,null,null,'sysdate+2');

    4)、what
    说明:用于改变作业要执行的操作
    语法:dbms_job.what(job in binary_integer,what in varchar2);
    例子:exec dbms_job.what(2,'dbms_stats.gather_table_stats->(''scott'',''emp'');');

    5)、next_date
    说明:用于改变作业的下次运行日期
    语法:dbms_job.next_date(job in binary_integer,next_date in date);
    例子:exec dbms_job.next_date('2','sysdate+1');

    6)、instance
    说明:用于改变作业的例程
    语法:dbms_job.instance(job in binary_integer,instance in binary_integer,force in boolean default false);
    例子:exec dbms_job.instance(2,1);

    7)、interval
    说明:用于改变作业的运行时间间隔
    语法:dbms_job.interval(job in binary_integer,interval in varchar2);
    例子:exec dbms_job.interval(2,'sysdate+1/24/60');

    8)、broken
    说明:用于设置作业的中断标识。当中断了作业之后,作业将不会被运行。
    语法:dbms_job.broken(job in binary_integer,broken in boolean,next_date in date default sysdate);
    其中broken指定中断标记(true表示中断)
    例子:dbms_job.broken(2,true,'sysdate+1');

    9)、run
    说明:用于运行已存在的作业
    语法:dbms_job.run(job in binary_integer,force in boolean default false);
    例子:exec dbms_job.run(1);

  • 相关阅读:
    java基础-数组
    泛型 --集合
    单例模式(新)
    static 关键字
    单例模式
    迭代器模式(java版)
    Object类
    JavaWeb学习总结(十七)——JSP中的九个内置对象
    javaweb学习总结(十六)——JSP指令
    javaweb学习总结(十五)——JSP基础语法
  • 原文地址:https://www.cnblogs.com/champaign/p/9468405.html
Copyright © 2020-2023  润新知