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://img-blog.csdnimg.cn/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;

查看历史计划工作日志
select job_name,log_date,status from dba_scheduler_job_log;
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值