1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

oracle不同类型的job介绍

Oracle不同类型的job介绍

作为本际云服务器推荐网的小编小本本,今天给大家介绍一下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