前一阵使用JOB定时执行存储过程,整理内容如下:
引用
创建语句:
DECLARE
FORMULA NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT(job => FORMULA,
what => 'PRPDFORMULA_CCIC;',
next_date => SYSDATE,
interval => 'TRUNC(sysdate)+23/24',
no_parse => TRUE);
COMMIT;
END;
参数的含义:
00、job参数是由Submit()过程返回的binary_ineger。这个值用来唯一标识一个工作。
01、what参数是将被执行的PL/SQL代码块。
02、next_date参数指何时将运行这个工作。
03、interval参数何时这个工作将被重执行。
04、no_parse参数指示此工作在提交时或执行时是否应进行语法分析——TRUE指示此PL/SQL代码在它第一次执行时应进行语法分析,而FALSE指示本PL/SQL代码应立即进行语法分析。
查询语句:select * from dba_jobs;
定时参数:
引用
每天午夜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在调用存储过程如果失败次数达到16次就会不再执行了,查询dba_jobs表中broken字段的值为Y:
解决方案:
1、修改存储过程中导致JOB执行失败的地方:
执行:
exec dbms_job.broken(22,false,sysdate+1/2440);
分享到:
相关推荐
XXL-JOB是一款轻量级分布式任务调度平台,它提供了简单易用的Web管理界面,支持灵活的任务配置和丰富的调度策略。在这个“xxl-job oracle 适配版本”中,我们主要关注的是XXL-JOB如何与Oracle数据库进行集成和优化。...
本资源“xxl-job-admin-2.4.1-SNAPSHOT”是针对Oracle数据库的版本,意味着它已经配置好与Oracle数据库的兼容性,以便在使用Oracle数据库的环境中运行。 首先,我们要了解XXL-JOB的核心功能。它提供了一种基于HTTP...
描述中提到“xxl-job可直接运行其中的jar文件,注意配置一下数据库即可”,这意味着XXL-JOB的部署非常简单,只需要将提供的jar包运行起来,并且与数据库进行正确的配置连接。这里涉及到的知识点有: 1. **分布式...
ShardingSphere-ElasticJob-UI 可广泛应用于大数据处理、报表生成、定时备份、用户行为分析等需要定期或按需执行的场景,尤其在大型互联网公司或对数据处理有高要求的企业中,能显著提高运维效率,降低运维成本。...
在Oracle数据库系统中,PL/SQL(Procedural Language for SQL)是一种过程化的编程语言,它结合了SQL的强大功能与传统的过程化编程语言的功能,使得开发复杂的数据库应用程序变得更为简单高效。通过实践练习,可以更...
例如,以下是一个简单的创建每晚9点执行的JOB的脚本示例: ```sql DECLARE v_job_number NUMBER; BEGIN DBMS_JOB.BEGIN_JOB(v_job_number); DBMS_JOB.SUBMIT( job => v_job_number, what => 'BEGIN my_...
Oracle数据库系统是企业级广泛应用的关系型数据库管理系统,其在数据管理、事务处理和高可用性方面表现出色。本文将深入探讨Oracle中的定时执行计划任务,这是数据库管理员(DBA)进行自动化运维的重要工具。 首先...
`DUAL是Oracle中的一个特殊表,用于执行简单的单行单列计算。 5. **查看当前日期**:`select sysdate from dual;`返回系统当前日期和时间。 6. **字段别名**:`select ename, sal*12 annual_sal from emp;`使用AS...
Oracle Job广泛应用于数据库维护,如定期备份、数据清理、性能调整、报表生成等。它为企业提供了一种自动化处理数据库任务的高效方式,减轻了DBA的工作负担,并确保任务的及时性和准确性。 通过理解并熟练掌握...
在Oracle SQL中,简单查询语句是数据处理的基础,用于从数据库中检索所需信息。数据处理涉及对原始数据的收集、存储、加工和传播,其目标是提取有价值的信息。数据处理经历了人工管理、文件系统和数据库系统三个阶段...
在本实验中,我们主要探讨了Oracle数据库中的SQL语句应用,涉及到了表、视图、索引以及序列等核心概念。以下是对这些知识点的详细解释: 1. **创建表**: - 使用`CREATE TABLE`语句创建了一个名为`person`的表,...
但是在实际应用过程中经常会出现“ORACLE 的 JOB 无法执行”、“ORA-04031”等错误情况,给维护及使用带来问题。 ORA-04031错误信息产生的原因主要有两种情况: 1. Oracle进程在向SGA申请内存时,如果申请失败,将...
Elastic-Job Lite是Elastic-Job的轻量级版本,适用于分布式环境中的简单任务调度。它主要由三部分组成:作业API、注册中心和协调器。作业API提供了一套面向任务的编程接口,注册中心用于存储和同步作业信息,协调器...
- DBMS_JOB是早期的作业调度包,主要用于简单的定时任务,它不支持高级特性,如日历调度和依赖关系。 - DBMS_SCHEDULER是Oracle 10g引入的更强大、更灵活的作业调度器,支持更多的调度选项和复杂的任务依赖关系。 ...
本文将深入探讨如何利用Oracle的Job和DBLink功能进行高级数据库同步技术,以确保数据的一致性和实时性。 首先,让我们了解Oracle Job。Job是Oracle的一个调度工具,它允许用户在特定时间或按固定频率执行数据库操作...
一个位图索引条目可以映射多个行,适用于等值查询,例如在“CLERK”和“MANAGER”列上的位图索引,可以高效地处理`WHERE job = 'CLERK' OR job = 'MANAGER'`类型的查询。 3. **创建和删除索引** - 使用`CREATE ...
Job 的使用与管理是数据库管理员(DBA)日常维护工作的重要部分,尤其对于大型企业应用而言,有效管理 Job 可以确保数据库系统的稳定性和效率。 1. **初始化相关参数**: - `job_queue_processes` 参数定义了同时...
根据给定的“韩顺平Oracle笔记-查询”的文件信息,我们可以提炼出多个关于Oracle SQL查询的重要知识点。这些知识点不仅涵盖了基本的SQL语句构造,还包括了子查询、多表连接、聚合函数以及高级查询技术等内容。下面将...
AUTOTRACE只能在SQL*PLUS环境下使用,通过简单的命令即可开启AUTOTRACE功能: ```sql SQL> set autotrace on ``` 或者指定具体的选项来控制AUTOTRACE的行为,例如只显示执行计划而不显示查询结果,可以使用: ```...