C/C++教程

Oracle18c 调度程序(创建一个定时任务工作如运行存储过程或多条语句) 2021-09-24

本文主要是介绍Oracle18c 调度程序(创建一个定时任务工作如运行存储过程或多条语句) 2021-09-24,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1、作业协调器
SQL> select program from v$process where program like ‘%J%’;
oracle@host01.example.com (CJQ0)
有1个作业协调器

2、作业队列进程数量
SQL> select NAME,VALUE from v$parameter where lower(NAME)=‘job_queue_processes’;
NAME VALUE
job_queue_processes 4000

SQL> select BANNER from v$version;
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
如果是12c默认值应该是1000,
18c默认是4000了

create table times(c1 date);
alter session set nls_date_format=‘dd-mm-yy hh24:mi:ss’;
3、作业、程序、时间表
作业,可以是SQL语句
execute dbms_scheduler.create_job(-
job_name=>‘savedate’,-
job_type=>‘plsql_block’,-
job_action=>‘insert into times values(sysdate);’,-
start_date=>sysdate,-
repeat_interval=>‘freq=minutely;interval=1’,-
enabled=>true,-
auto_drop=>false);

作业,可以是存储过程
execute dbms_scheduler.create_job(-
job_name=>‘savedate2’,-
job_type=>‘STORED_PROCEDURE’,-
job_action=>‘p_dbms_scheduler_savedate2’,-
start_date=>sysdate,-
repeat_interval=>‘freq=minutely;interval=1’,-
enabled=>true,-
auto_drop=>false);

在这里插入图片描述
在这里插入图片描述

4、建立的作业、程序、时间表存储在数据字典
在数据字典中user_scheduler_jobs/all_scheduler_jobs/dba_scheduler_jobs

select JOB_NAME,JOB_TYPE,JOB_ACTION,REPEAT_INTERVAL,start_date from dba_scheduler_jobs where job_name=UPPER(‘savedate’);
![在这里插入图片描述](https://www.www.zyiz.net/i/ll/?i=0b4c51ed1b244bc89e270ea93fa6e520.jpg在这里插入图片描述
在这里插入图片描述
5、
禁止、删除
exec dbms_scheduler.disable(‘savedate’);
exec dbms_scheduler.drop_job(‘savedate’);

–定义一个存储过程
create or replace procedure p_dbms_scheduler_savedate2 as
begin
insert into times values(sysdate);
commit;
end;

这篇关于Oracle18c 调度程序(创建一个定时任务工作如运行存储过程或多条语句) 2021-09-24的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!