切换到窄版

Good技术分享

 找回密码
 立即注册
搜索
热搜: 活动 交友
查看: 3502|回复: 0

[【Oracle】] Oracle 简单的创建一个定时任务job

[复制链接]
  • TA的每日心情
    无聊
    2024-3-22 17:23
  • 85

    主题

    110

    帖子

    19999万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    199991804

    最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

    发表于 2023-3-13 10:57:06 | 显示全部楼层 |阅读模式
    Oracle 简单的创建一个定时任务job
    没有什么前置步骤,无非就是把存储过程或者SQL提前写好,就不说了,直接执行一下下面的语句即可创建一个job
    1. declare
    2.   job number;
    3. BEGIN
    4.   DBMS_JOB.SUBMIT(  
    5.         JOB => job,  /*自动生成JOB_ID,放着就行,不用管*/  
    6.         WHAT => 'send_email_main;',  /*换成你需要执行的存储过程名称或SQL,如果是包则要具体到方法*/
    7.         NEXT_DATE => sysdate+1/(24*60),  /*初次执行时间-设置为当前时间的1分钟后*/  
    8.         INTERVAL => 'TRUNC(SYSDATE + 1)+(7*60+55)/(24*60)' /*每天早上7点55执行*/
    9.       );  
    10.   commit;
    11. end;
    复制代码
    创建以后可以通过执行下面的语句查询当前数据库的job(第一列为job_id)
    1. SELECT * FROM dba_jobs
    复制代码
    创建job的语句的参数就这些
    比较谜团的就是INTERVAL部分,以下是从网上各个地方看到的感觉会常用的内容,使用的话直接替换或者加加改改就行
    1. 每秒:sysdate + 1/(24*60*60)
    2. 每30秒:sysdate + 30/(24*60*60)
    3. 每分钟:sysdate + 1/(24*60)
    4. 每两分钟:sysdate + 2/(24*60)
    5. 每五分钟:sysdate + 5/(24*60)
    6. 每小时:sysdate + 1/24
    7. 每两小时:sysdate + 2/24
    8. 每天:sysdate + 1
    9. 每两天:sysdate + 2
    10. 每周:sysdate + 7
    11. 每天午夜12点:trunc(sysdate + 1)
    12. 每天早上8点30分:trunc(sysdate + 1) + (8 * 60 + 30)/(24 * 60)
    13. 每星期二中午12点:next_day(trunc(sysdate), '星期二') + 12/24
    14. 每周六和周日早上6点10分:trunc(least(next_day(sysdate, '星期六'), next_day(sysdate, '星期日'))) + (6 * 60 + 10) / (24 * 60)
    15. 每个月第一天的午夜12点:trunc(last_day(sysdate)) + 1
    16. 每季度的第一天凌晨0点执行:trunc(add_months(sysdate,3),'q')
    17. 每个季度最后一天的晚上11点:trunc(add_months(sysdate + 2/24,3),'q') - 1/24
    18. 每年7月1日和1月1日凌晨1点:add_months(trunc(sysdate,'yyyy'),6) + 1/24
    19. 每年1月1日凌晨1点执行:add_months(trunc(sysdate,'yyyy'),12) + 1/24
    复制代码
    手动执行job
    1. begin
    2.    DBMS_JOB.RUN(job_id); /*job的id*/
    3. end;
    复制代码

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则


    QQ|手机版|小黑屋|Good技术分享

    GMT+8, 2024-11-21 17:01 .

    www.52yfw.com

    Technology sharing

    快速回复 返回顶部 返回列表