job的步骤如下:
记述一个创建一个简单的job
步骤如下:
1、创建一张表g_test
create table G_TEST
(
ID NUMBER(12),
C_DATE DATE
)
2、创建一个sequence
create sequence G_SEQ
minvalue 1
maxvalue 999999999999999999999999999
start with 141
increment by 1
cache 20;
3、创建一个存储过程
create or replace procedure prc_g_test is
begin
insert into g_test values(g_seq.nextval,sysdate);
end prc_g_test;
4、创建job,
使用Submit()过程,工作被正常地计划好。
这个过程有五个参数:job、what、next_date、interval与no_parse。
PROCEDURE Submit ( job OUT binary_ineger,
What IN varchar2,
next_date IN date,
interval IN varchar2,
no_parse IN booean:=FALSE)
job参数是由Submit()过程返回的binary_ineger。这个值用来唯一标识一个工作。
what参数是将被执行的PL/SQL代码块。
next_date参数指识何时将运行这个工作。
interval参数何时这个工作将被重执行。
no_parse参数指示此工作在提交时或执行时是否应进行语法分析——TRUE
指示此PL/SQL代码在它第一次执行时应进行语法分析,
而FALSE指示本PL/SQL代码应立即进行语法分析。
在command window窗口中执行下面脚本
variable job1 number;
begin
sys.dbms_job.submit(job => :job,
what => 'prc_g_test;',
next_date => to_date('22-10-2008 10:06:41', 'dd-mm-yyyy hh24:mi:ss'),
interval => 'sysdate+1/1440');--每天1440分钟,即一分钟运行test过程一次
commit;
end;
/
----------------------------------------------------------------------------------
在plSQL中我的做法是:
declare
job number;
begin
sys.dbms_job.submit(job,'prc_g_test;',sysdate,'sysdate+1/1440');
end;
----------------------------------------------------------------------------------
5、查看创建的job
查看相关job信息
1、相关视图
dba_jobs
all_jobs
user_jobs
dba_jobs_running 包含正在运行job相关信息。
如:
select * from dba_jobs
6、运行JOB
说明:Run()过程用来立即执行一个指定的工作。这个过程只接收一个参数:
SQL> begin
2 dbms_job.run(:job);
3 end;
4 /
----------------------------------------------------------------------------------
在plSQL中我的做法是:
begin
dbms_job.run(3017);
end;
----------------------------------------------------------------------------------
7、删除JOB
SQL> begin
2 dbms_job.remove(:job);--:job可以用dba_jobs.job的值代替如:1198
3 end;
4 /
说明:在sqlplus命令行直接定义变量要variable!!!!
INTERVAL参数值
每天午夜12点 'TRUNC(SYSDATE + 1)'
每天早上8点30分 'TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)'
每星期二中午12点 'NEXT_DAY(TRUNC(SYSDATE ), ''TUESDAY'' ) + 12/24'
每个月第一天的午夜12点 'TRUNC(LAST_DAY(SYSDATE ) + 1)'
每个季度最后一天的晚上11点 'TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), 'Q' ) -1/24'
每星期六和日早上6点10分 'TRUNC(LEAST(NEXT_DAY(SYSDATE, ''SATURDAY"), NEXT_DAY(SYSDATE, "SUNDAY"))) + (6×60+10)/(24×60)'
--------------------------
1:每分钟执行
Interval => TRUNC(sysdate,'mi') + 1/ (24*60)
或
Interval => sysdate+1/1440
2:每天定时执行
例如:每天的凌晨1点执行
Interval => TRUNC(sysdate) + 1 +1/ (24)
3:每周定时执行
例如:每周一凌晨1点执行
Interval => TRUNC(next_day(sysdate,'星期一'))+1/24
4:每月定时执行
例如:每月1日凌晨1点执行
Interval =>TRUNC(LAST_DAY(SYSDATE))+1+1/24
5:每季度定时执行
例如每季度的第一天凌晨1点执行
Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24
6:每半年定时执行
例如:每年7月1日和1月1日凌晨1点
Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24
7:每年定时执行
例如:每年1月1日凌晨1点执行
Interval =>ADD_MONTHS(trunc(sysdate,'yyyy'),12)+1/24
分享到:
相关推荐
job_queue_interval = 10 //调度作业刷新频率秒为单位 job_queue_process 表示oracle能够并发的job的数量,可以通过语句 show parameter job_queue_process; select * from v$parameter where name=’job_queue_...
Oracle JOB 用法小结 2007-6-20 11:51:36 Oracle JOB 用法小结 一、设置初始化参数 job_queue_processes sql> alter system set job_queue_processes=n;(n>0) job_queue_processes最大值为1000 ...
在Oracle 9i中,按照SQL 99标准,增加了时间间隔型数据INTERVAL YEAR TO MONTH 和 INTERVAL DAY TO SECOND,它们和其他几种数据类型一起使得对时间的处理更加准确。TIMESTAMP、TIMESTAMP WITH TIME ZONE和TIMESTAMP ...
Oracle数据库使用分组函数来对数据进行聚集
INTERVAL
-- job 创建 begin dbms_scheduler.create_job ( job_name => 'AGENT_LIQUIDATION_JOB', job_type => 'STORED_PROCEDURE', job_action => 'AGENT_LIQUIDATION.LIQUIDATION', --存储过程名 start_date...
"/u02/app/oracle/oradata/cams/control02.ctl", "/u02/app/oracle/oradata/cams/control03.ctl") 4 调度作业队列的 SNP 进程的数量以及 SNP 进程觉醒时间间隔 秒 JOB_QUEUE_PROCESSES=2 JOB_...
select sysdate,sysdate - interval ’7’ MINUTE from dual 当前时间减去7小时的时间 select sysdate - interval ’7’ hour from dual 当前时间减去7天的时间 select sysdate - interval ’7’ day ...
interval analysis tools
'interval' —-每次间隔时间,interval以天为单位 ); –系统会自动分配一个任务号jobno。 2、删除job: dbms_job.remove(jobno); 3、修改要执行的操作: job:dbms_job.what(jobno, what); 4、修改下次执行时间...
Delphi Interval属性用法源码
delphi6 使用praat进行音频标注时候,可以把textgrid文件转换成早期的interval文件爱女
§3.4.18 检查点块数(LOG_CHECKPOINT_INTERVAL) 76 §3.4.19 检查点间隔(LOG_CHECKPOINT_TIMEOUT) 76 §3.4.20 对大卸出文件大小(MAX_DUMP_FILE_SIZE) 76 §3.4.21 对大回滚段数(MAX_ROLLBACK_SEGMENTS) 77 §3.4.22...
在Oracle 9i中,按照SQL 99标准,增加了时间间隔型数据INTERVAL YEAR TO MONTH和INTERVAL DAY TO SECOND,它们和其他几种数据类型一起使得对时间的处理更加准确。本文介绍了设置时间间隔型数据的方法。
Interval Finite Element Method with MATLAB provides a thorough introduction to an effective way of investigating problems involving uncertainty using computational modeling. The well-known and ...
oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...
今天小编就为大家分享一篇Python 数值区间处理_对interval 库的快速入门详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
an Interval Type-2 fuzzy set composed from α-cuts done over its primary membership functions. The defi nition of available Type-reduction methods for Interval Type-2 fuzzy sets are based on an ...
human-interval, javascript的人类可以读时间 人类间隔Javascript的人类可读区间解析器。由 matthewmueller/日期激发。示例用法const humanInterval = require('human-interval');setTimeout