创建job
declare
jobno number;
begin
dbms_job.submit(jobno,'begin update table1 set a=''test''; end;',trunc(sysdate)+1,'trunc(sysdate)+1');
end;
这里第一个参数是任务编号,系统自动赋值。也可以采用isubmit来手动指定
第二个参数是需要执行的任务过程,代码长的话,可以将它写到一个存储过程里,再放到里面调用,比如'pro_test;' (pro_test假定为一个存储过程名)
第三个参数是,自动任务第一次执行的时间,如果需要它立即执行,则使用sysdate
最后一个参数,系统根据该参数的值指定下一次的执行时间。如果需要每天0点执行,就用我上面写的
创建好job后,可以在all_jobs中查询它的状态
不需要时,使用dbms_job.remove来移除。dbms_job.broken可以用来停止和启动任务
总结:
job参数是由Submit()过程返回的binary_ineger。这个值用来唯一标识一个工作;
what参数是将被执行的PL/SQL代码块;
next_date参数指识何时将运行这个工作。写Job的时候可以不指定该值,默认值是:“4000-1-1”;
interval参数何时这个工作将被重执行。
其中Interval这个值是决定Job何时,被重新执行的关键。
例如:有存储过程 p_dosomethings,需要被不同的时间间隔执行。
SQL代码
declare
jobno number;
begin
dbms_job.submit(
jobno,
'p_dosomething;', --what
to_date('20090101020000','yyyy-mm-dd hh24:mi:ss'),--next_date,可以不填
'Interval时间字符串'--interval,关键设置
);
commit;
end;
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_MONTHS(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
分享到:
相关推荐
Oracle 定时器的使用可以极大地提高数据库的自动化处理能力和效率。 Oracle 定时器的使用: Oracle 定时器可以用来实现各种自动化任务,例如: * 定时清除数据:使用 Oracle 定时器可以根据指定的时间间隔删除...
oracle定时器调用存储过程
以下是使用PL/SQL在Oracle中建立定时器的详细步骤: 1. **创建存储过程**: 首先,你需要有一个要定时执行的存储过程。例如,我们有一个名为`autorunzhtdplananalyse`的存储过程,它可能用于分析数据库性能计划。...
这是一个关于oracle的数据库定时器,作用是每年的第一天的凌晨一时更新数据库。原理是先写一个存储过程,然后写一个定时器在job里面,数据库会自动监测,到了时间就会执行存储过程完成任务。
在Oracle数据库中,我们经常会用到定时器Job来让数据库...但是,Oracle定时器Job时间的处理上,千变万化,还是比较灵活的。本文我们总结了一些Oracle数据库定时器Job在各个时间段得写法,接下来我们就开始介绍这些。
Oracle数据库在进行定时任务管理时,常常需要借助于DBMS_JOB...同时,对于大型企业级应用,可能还需要考虑使用更高级的调度工具,如Oracle的Advanced Queuing (AQ) 或者Scheduler,它们提供了更全面的管理和监控功能。
创建一个定时器 declare jobno number; begin dbms_job.submit( jobno,–定时器ID,系统自动获得 'PRC_INSERT;',–what执行的过程名 sysdate,–next_date,定时器开始执行的时间,这样写表示...
-- job 创建 begin dbms_scheduler.create_job ( job_name => 'AGENT_LIQUIDATION_JOB', ... job_type => 'STORED_PROCEDURE', ... job_action => 'AGENT_LIQUIDATION.LIQUIDATION', --存储过程名 ...
Oracle 定时任务不能自动执行的检查修复步聚 Oracle 定时任务是 Oracle 数据库中的一种功能,可以根据设置的计划执行某些任务。但是,在某些情况下,Oracle 定时任务可能不能自动执行。这可能是由于某个版本的 BUG...
《精通Oracle 11g数据库中的定时器》这本书主要涵盖了Oracle数据库系统中关于定时任务的高级使用技巧,包括但不限于数据库的调度程序、自动任务管理和时间触发的事件处理。Oracle 11g作为一款广泛使用的数据库管理...
在Oracle数据库系统中,存储过程、触发器和定时器是三个关键的数据库管理工具,它们在数据处理和业务逻辑执行中扮演着重要角色。本文将详细介绍这三个概念,并结合实际例子来帮助理解它们的工作原理和应用。 1. **...
然后,你可以使用Oracle提供的PL/SQL包`DBMS_JOB`来提交任务到任务队列。`DBMS_JOB`包包含一个`SUBMIT`过程,用于添加新的任务。这个过程有四个参数: 1. `job`: 任务的唯一ID,由函数返回。 2. `what`: 定义要执行...
在本项目中,开发者创建了一个基于Winform的C#应用程序,该程序实现了从SQL Server数据库向Oracle数据库的数据迁移功能,并且这个迁移过程是通过一个定时器来触发的,确保了数据的实时同步。以下是关于这个项目的...
综上所述,OracleDBConsoleorcl控制台和服务进程以及OracleJobSchedulerORCL定时器服务进程在Oracle数据库的日常管理和自动化任务执行中扮演着核心角色。理解并管理这些服务进程对于优化数据库性能、提高工作效率和...
在IT领域,特别是数据库管理与自动化任务调度方面,Oracle的JOB定时器机制提供了一种高效且灵活的方式来执行定期任务,如备份、数据清理或报告生成等。本文将深入解析如何利用Oracle JOB定时器来操作存储过程,包括...
实现了oracle的自动备份 ,可自选备份地址及数据库。
Oracle 定时执行存储过程是一种高效的方式来执行存储过程,通过使用 Oracle 提供的 job 机制来实现。Job 机制允许开发者创建、计划和执行存储过程,实现自动化和批量处理。 Broken() 过程 Broken() 过程用于更新...
- **数据库支持**:支持SQL Server和Oracle两种数据库类型。 - **增删改查操作**:提供封装好的类库(JAR),简化数据库操作过程。 **3.3 数据库操作示例** - **创建测试表**:在数据库中创建一张用于测试的表。 - ...
Oracle JOB 定时任务 定时执行存储过程