本文共 2218 字,大约阅读时间需要 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);
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)'); 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;
alter system kill session 'SID,serial#';
job?????
??dbms_job.submit??????????????????????????????? select job_id from dba_jobs where who owns the job?
interval => 'sysdate + 10/(24*60*60)';
???????
????job?????????????????
??job_queue_processes???
Oracle???job_queue_processes???????0?????job?????????????????????alter system set job_queue_processes = 39 scope = spfile;
??????????job????????
?????job_queue_interval?
job_queue_interval????job???????????????????????????alter system set job_queue_interval = 10;
????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; ????
????????????????Oracle PL/SQL job?????????????????????????????????????????job?????????????????????job??????
转载地址:http://dopfk.baihongyu.com/