Oracle-定时任务-JOB
发布日期:2025-04-29 23:28:45 浏览次数:15 分类:精选文章

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

?????Oracle PL/SQL job?????????????????????Oracle?????PL/SQL job???????????????????????????????????????????????????????????Oracle?????job???????????Oracle??????????????????job??????dba_jobs?dba_jobs_running?user_jobs??????dbms_job.submit?dbms_job.run????????????????1. job?????     ????????job???????????job?????????????????     ```sql   select * from dba_jobs_running;

??????job????????job?broken????????????????job????

dbms_job.broken(job_id, isbroken, last_date);

????????job??????

dbms_job.remove(job_id);
  1. job???????

    job???????????????????????????????????

    • ??dbms_job.submit?????????interval??????
    dbms_job.submit(job_id => :job,                what => 'your_procedure_name',                next_date => to_date('2023-10-01 09:00:00', 'yyyy-mm-dd hh24:mi:ss'),                interval => 'sysdate + 1/(24*60*60)');
    • ?procedure???dbms_output.put_line??????????????????
    create or replace procedure pro_job_print  as  begin     dbms_output.put_line(to_char(sysdate, 'dd-mm-yyyy hh24:mi:ss'));     insert into tab_time values(sysdate);  end;
    • ????job???????????????job??????????
    alter system kill session 'SID,serial#';
  2. job?????

    ??dbms_job.submit???????????????????????????????

    • ???????job????????????
    select job_id from dba_jobs where who owns the job?
    • ??interval???????????????????????
    interval => 'sysdate + 10/(24*60*60)';
    • ???????????Oracle????????????????????
  3. ???????

    ????job?????????????????

  4. ??job_queue_processes???

    Oracle???job_queue_processes???????0?????job?????????????????????

    alter system set job_queue_processes = 39 scope = spfile;

    ??????????job????????

  5. ?????job_queue_interval?

    job_queue_interval????job???????????????????????????

    alter system set job_queue_interval = 10;
  6. ????job???

    ???????????job??????????PL/SQL???????????

    declare     job_ids number;  begin     for i in 1..10     loop        job_ids := job_ids + 1;        dbms_job.submit(job_id => job_ids,                       what => 'your_procedure_name',                       next_date => to_date('2023-10-01 09:00:00', 'yyyy-mm-dd hh24:mi:ss'),                       interval => 'sysdate + 1/(24*60*60)');     end loop;  end;
  7. ????

    ????????????????Oracle PL/SQL job?????????????????????????????????????????job?????????????????????job??????

上一篇:oracle.dataaccess 连接池,asp.net使用Oracle.DataAccess.dll连接Oracle
下一篇:oracle--用户,权限,角色的管理

发表评论

最新留言

关注你微信了!
[***.104.42.241]2026年05月24日 00时19分32秒