Oracle不同类型的job介绍
作为本际云服务器推荐网的小编小本本,今天给大家介绍一下Oracle的不同类型的job。

dba_jobs
创建存储过程:
create or replace procedure dbmsjob
is
begin
execute immediate 'alter session set nls_date_format=YYYY-MM-DD HH24:MI:SS';
insert into zdq.job_date values(sysdate);
DBMS_LOCK.SLEEP(30);
COMMIT;
insert into zdq.job_date values(sysdate);
DBMS_LOCK.SLEEP(30);
COMMIT;
insert into zdq.job_date values(sysdate);
DBMS_LOCK.SLEEP(30);
COMMIT;
insert into zdq.job_date values(sysdate);
DBMS_LOCK.SLEEP(30);
COMMIT;
insert into zdq.job_date values(sysdate);
DBMS_LOCK.SLEEP(30);
COMMIT;
insert into zdq.job_date values(sysdate);
DBMS_LOCK.SLEEP(30);
COMMIT;
insert into zdq.job_date values(sysdate);
DBMS_LOCK.SLEEP(30);
COMMIT;
insert into zdq.job_date values(sysdate);
DBMS_LOCK.SLEEP(30);
COMMIT;
insert into zdq.job_date values(sysdate);
DBMS_LOCK.SLEEP(30);
COMMIT;
insert into zdq.job_date values(sysdate);
DBMS_LOCK.SLEEP(30);
COMMIT;
end dbmsjob;
调用过程进行测试:
begin
dbms_job.submit(job1,dbmsjob;,sysdate,sysdate+5/1440);
end;
查询生成的jobid:
select job,what from dba_jobs;
运行job:
begin
dbms_job.run(1);
end;
查询该job下次执行的时间:
select job,next_date,what from dba_jobs where job=1;
dba_scheduler_jobs
创建表并创建存储过程:
create table zdq.job_date2(id varchar2(100));
create or replace procedure dbmsjob2
is
begin
execute immediate 'alter session set nls_date_format=YYYY-MM-DD HH24:MI:SS';
insert into zdq.job_date2 values(sysdate);
DBMS_LOCK.SLEEP(30);
insert into zdq.job_date2 values(sysdate);
DBMS_LOCK.SLEEP(30);
insert into zdq.job_date2 values(sysdate);
DBMS_LOCK.SLEEP(30);
insert into zdq.job_date2 values(sysdate);
DBMS_LOCK.SLEEP(30);
insert into zdq.job_date2 values(sysdate);
DBMS_LOCK.SLEEP(30);
insert into zdq.job_date2 values(sysdate);
DBMS_LOCK.SLEEP(30);
insert into zdq.job_date2 values(sysdate);
DBMS_LOCK.SLEEP(30);
insert into zdq.job_date2 values(sysdate);
DBMS_LOCK.SLEEP(30);
insert into zdq.job_date2 values(sysdate);
DBMS_LOCK.SLEEP(30);
insert into zdq.job_date2 values(sysdate);
DBMS_LOCK.SLEEP(30);
COMMIT;
end dbmsjob2;
使用dbms_scheduler创建schedule:
begin
dbms_scheduler.create_job(job_name => dbms_scheduler_test, job_type => STORED_PROCEDURE, job_action => dbmsjob2, start_date => sysdate, repeat_interval => sysdate+5/1440, enabled => TRUE, comments => dbms_scheduler_test);
end;
执行job:
begin
dbms_scheduler.run_job(job_name => dbms_scheduler_test, use_current_session => false);
end;
查询job运行情况:
select owner,job_name,status,actual_start_date,run_duration,session_id,additional_info from dba_scheduler_job_run_details where job_name = dbms_scheduler_test;
以上是oracle不同类型的job的介绍,希望对大家有所帮助。
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6521.html
