zoukankan      html  css  js  c++  java
  • Oracle Job 语法和时间间隔的设定(转)

    http://blog.itpub.net/27157/viewspace-425567/

    初始化相关参数job_queue_processes
    alter system set job_queue_processes=39 scope=spfile;//最大值不能超过1000 ;job_queue_interval = 10 //调度作业刷新频率秒为单位

    job_queue_process 表示oracle能够并发的job的数量,可以通过语句  

    show parameter job_queue_process;

    来查看oracle中job_queue_process的值。当job_queue_process值为0时表示全部停止oracle的job,可以通过语句

    ALTER SYSTEM SET job_queue_processes = 10;

    来调整启动oracle的job。

    相关视图:
    dba_jobs
    all_jobs
    user_jobs
    dba_jobs_running 包含正在运行job相关信息

    -------------------------

    提交job语法:

    begin
    sys.dbms_job.submit(job => :job,
                          what => 'P_CLEAR_PACKBAL;',
                          next_date => to_date('04-08-2008 05:44:09', 'dd-mm-yyyy hh24:mi:ss'),
                          interval => 'sysdate+ 1/360');
    commit;
    end;
    /

    -------------------------
    创建JOB
    variable jobno number;
    begin
    dbms_job.submit(:jobno, 'P_CRED_PLAN;',SYSDATE,'SYSDATE+1/2880',TRUE);
    commit;

    运行JOB
    SQL> begin
             dbms_job.run(:job1);
             end;
             /

    删除JOB
    SQL> begin
            dbms_job.remove(:job1);
            end;
            /

    DBA_JOBS
    ===========================================
    字段(列)          类型                 描述 
    JOB                NUMBER          任务的唯一标示号 
    LOG_USER           VARCHAR2(30)    提交任务的用户 
    PRIV_USER          VARCHAR2(30)    赋予任务权限的用户 
    SCHEMA_USER        VARCHAR2(30)    对任务作语法分析的用户模式 
    LAST_DATE          DATE            最后一次成功运行任务的时间 
    LAST_SEC           VARCHAR2(8)     如HH24:MM:SS格式的last_date日期的小时,分钟和秒 
    THIS_DATE     DATE            正在运行任务的开始时间,如果没有运行任务则为null 
    THIS_SEC     VARCHAR2(8)     如HH24:MM:SS格式的this_date日期的小时,分钟和秒 
    NEXT_DATE          DATE            下一次定时运行任务的时间 
    NEXT_SEC           VARCHAR2(8)     如HH24:MM:SS格式的next_date日期的小时,分钟和秒 
    TOTAL_TIME         NUMBER          该任务运行所需要的总时间,单位为秒 
    BROKEN             VARCHAR2(1)     标志参数,Y标示任务中断,以后不会运行 
    INTERVAL           VARCHAR2(200)   用于计算下一运行时间的表达式 
    FAILURES    NUMBER     任务运行连续没有成功的次数 
    WHAT               VARCHAR2(2000) 执行任务的PL/SQL块 
    CURRENT_SESSION_LABEL RAW          MLSLABEL 该任务的信任Oracle会话符 
    CLEARANCE_HI      RAW MLSLABEL     该任务可信任的Oracle最大间隙 
    CLEARANCE_LO      RAW              MLSLABEL 该任务可信任的Oracle最小间隙 
    NLS_ENV           VARCHAR2(2000)   任务运行的NLS会话设置 
    MISC_ENV          RAW(32)          任务运行的其他一些会话参数

    --------------------------
    描述                    INTERVAL参数值 
    每天午夜12点            'TRUNC(SYSDATE + 1)' 
    每天早上8点30分         'TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)' 
    每星期二中午12点         'NEXT_DAY(TRUNC(SYSDATE ), ''TUESDAY'' ) + 12/24' 
    每个月第一天的午夜12点    'TRUNC(LAST_DAY(SYSDATE ) + 1)' 
    每个季度最后一天的晚上11点 'TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), 'Q' ) -1/24' 
    每星期六和日早上6点10分    'TRUNC(LEAST(NEXT_DAY(SYSDATE, ''SATURDAY"), NEXT_DAY(SYSDATE, "SUNDAY"))) + (6×60+10)/(24×60)'

    --------------------------

    1:每分钟执行

    Interval => TRUNC(sysdate,'mi') + 1/ (24*60)

    2:每天定时执行

    例如:每天的凌晨1点执行

    Interval => TRUNC(sysdate) + 1 +1/ (24)

    3:每周定时执行

    例如:每周一凌晨1点执行

    Interval => TRUNC(next_day(sysdate,'星期一'))+1/24

    4:每月定时执行

    例如:每月1日凌晨1点执行

    Interval =>TRUNC(LAST_DAY(SYSDATE))+1+1/24

    5:每季度定时执行

    例如每季度的第一天凌晨1点执行

    Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24

    6:每半年定时执行

    例如:每年7月1日和1月1日凌晨1点

    Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24

    7:每年定时执行

    例如:每年1月1日凌晨1点执行

    Interval =>ADD_MONTHS(trunc(sysdate,'yyyy'),12)+1/24

  • 相关阅读:
    Windows server 2016 解决“无法完成域加入,原因是试图加入的域的SID与本计算机的SID相同。”
    Windows Server 2016 辅助域控制器搭建
    Windows Server 2016 主域控制器搭建
    Net Framework 4.7.2 覆盖 Net Framework 4.5 解决办法
    SQL SERVER 2012更改默认的端口号为1772
    Windows下彻底卸载删除SQL Serever2012
    在Windows Server2016中安装SQL Server2016
    SQL Server 创建索引
    C#控制台或应用程序中两个多个Main()方法的设置
    Icon cache rebuilding with Delphi(Delphi 清除Windows 图标缓存源代码)
  • 原文地址:https://www.cnblogs.com/stono/p/4597763.html
Copyright © 2011-2022 走看看