网站首页 > 技术文章 正文
写法:
declare
jobno number;
begin
dbms_job.submit(
jobno,
'nextMonthInventoryCARRYFORWARD(to_char(sysdate,'||''''||'yyyy-MM-dd'||''''||'));', --what
sysdate, --next_date,可以不填
'TRUNC(LAST_DAY(SYSDATE))+1+2/24'--'Interval时间字符串' --interval,关键设置
);
end;
在Oracle数据库中,我们经常会用到定时器Job来让数据库定时的自动执行一些脚本,或做数据库备份,或做数据的提炼,或做数据库的性能优化,包括重建索引等等的工作。但是,Oracle定时器Job时间的处理上,千变万化,还是比较灵活的。本文我们总结了一些Oracle数据库定时器Job在各个时间段得写法,接下来我们就开始介绍这些。
Job参数是有Submit()过程返回的binary_integer。
what参数是将被执行的PL/SQL代码块。
next_date参数指何时将运行这个工作。写Job的时候可以不指定该值。
interval参数何时这个工作将被重执行。
其中Interval这个值是决定Job何时,被重新执行的关键。
1、每分钟执行
Interval => TRUNC(sysdate, 'mi')+1/(24*60)
2、每天定时执行
例如:每天的凌晨2点执行
Interval => TRUNC(sysdate)+1+2/(24)
3、每周定时执行
例如:每周一凌晨2点执行
Interval => TRUNC(next_day(sysdate, 2))+2/24 --星期一,一周的第二天
4、每月定时执行
例如:每月1日凌晨2点执行
Interval => TRUNC(LAST_DAY(SYSDATE))+1+2/24
5、每季度定时执行
例如每季度的第一天凌晨2点执行
Interval => TRUNC(ADD_MONTH(SYSDATE), 3),'Q')+2/24
6、每半年定时执行
例如:每年7月1日和1月1日凌晨2点
Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+2/24
7、每年定时执行
例如:每年1月1日凌晨2点执行
Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),12)+2/24
-------------查询JOB-----------------
select job, what, next_date, next_sec, sysdate, failures, broken,interval
from user_jobs a;
-------------修改JOB-----------------
begin
dbms_job.change(62 ,'MY_JOP;', sysdate,'sysdate+2/(24*60)' );
commit;
end;
begin
dbms_job.change(62 ,'MY_JOP;', to_date('2011-08-01 22:00:00', 'yyyy-mm-dd hh24:mi:ss'),'sysdate+1');
commit;
end;
-------------删除JOB-----------------
begin
dbms_job.remove(41);
end;
-------------运行Job-----------------------
begin
dbms_job.run(41);
end;
猜你喜欢
- 2024-10-30 oracle——字符串转(日期或者日期字符串)
- 2024-10-30 Ask Oracle 天秤座1月份,坚持理想与信念,成功就在不远方
- 2024-10-30 使用ORA_ROWSCN伪列获取表最后的DML时间
- 2024-10-30 Oracle数据库小基础 oracle数据库基础教程孙风栋答案
- 2024-10-30 前后台时间日期格式化,数据库查询时间不对,下次不要困扰你了
- 2024-10-30 美创科技运维日记|关于Oracle数据库的软件支持周期的那些事
- 2024-10-30 oracle三大类型(varchar2,number,date)与隐式数据类型转换
- 2024-10-30 SQL日期函数大全 看这一篇就够 sql日期函数的使用方法
- 2024-10-30 oracle——ora-01839 指定的日期无效,interval '2' month的问题
- 2024-10-30 数据库中常用的日期函数 数据库日期型
你 发表评论:
欢迎- 637℃几个Oracle空值处理函数 oracle处理null值的函数
- 629℃Oracle分析函数之Lag和Lead()使用
- 618℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 613℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 612℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 603℃【数据统计分析】详解Oracle分组函数之CUBE
- 591℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 577℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)