对于DBA来说,数据库Job再熟悉不过了,因为经常要数据库定时的自动执行一些脚本,或做数据库备份,或做数据的提炼,或做数据库的性能优化,包括重建索引等等的工作。但是,Oracle定时器Job时间的处理上,千变万化,今天我把比较常用写法汇总如下:
在总结之前,先把Job的参数一一说明一下:
job参数是由Submit()过程返回的binary_ineger。这个值用来唯一标识一个工作;
what参数是将被执行的PL/SQL代码块;
next_date参数指识何时将运行这个工作。写Job的时候可以不指定该值;
interval参数何时这个工作将被重执行。
其中Interval这个值是决定Job何时,被重新执行的关键。
例如:有存储过程 p_dosomethings,需要被不同的时间间隔执行。
2 jobno number;
3begin
4 dbms_job.submit(
5 jobno,
6 'p_dosomething;', --what
7 to_date('20090101020000','yyyy-mm-dd hh24:mi:ss'),--next_date,可以不填
8 'Interval时间字符串'--interval,关键设置
9 );
10 commit;
11end;
12
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数据库的调度作业,是Oracle数据库管理系统提供的一种功能,允许用户预定义一系列操作,如运行SQL脚本、数据备份或数据清理等,并设定在特定时间自动执行。这种机制对于自动化数据库...
通过合理地利用Oracle定时任务,可以极大地提高系统的运行效率和维护能力。 #### 二、Oracle定时任务的基础概念 在深入探讨Oracle定时任务之前,我们需要先了解几个基础的概念: - **Job**:Oracle定时任务的基本...
-- job 创建 begin dbms_scheduler.create_job ( job_name => 'AGENT_LIQUIDATION_JOB', ... job_type => 'STORED_PROCEDURE', ... job_action => 'AGENT_... comments => '执行代理商清分程序' ); end;
本文将围绕“Oracle定时导出”这一主题,深入探讨如何设置与执行Oracle定时导出任务,以及这一过程中的关键参数和注意事项。 ### Oracle定时导出的意义 Oracle定时导出,指的是在预设的时间点自动进行数据库或表...
这个程序就是为了解决这个问题而设计的,它实现了自动定时备份Oracle数据库的功能,用户可以根据自己的需求设置备份频率,例如每日或者每周执行。 程序的核心是利用Oracle的export命令来导出数据库的数据。Oracle ...
1. **定义存储过程**:首先,我们需要编写一个存储过程来封装要定时执行的操作。例如,如果要每天创建一个新的表来记录更新的节目信息,我们可以创建一个名为`sp_createtab_tbl_programme`的存储过程。在这个存储...
本文将深入探讨如何在Oracle环境中实现定时删除表空间的数据并释放空间,主要涵盖以下几个关键知识点: 1. **Oracle 表空间(Tablespaces)**:表空间是Oracle数据库中存储数据的基本单位,它由一个或多个数据文件...
Oracle定时任务,也被称为Oracle调度(Oracle Scheduler),是Oracle数据库系统中的一个重要组件,用于安排数据库内的作业自动执行。这些作业可以包括数据备份、清理过期记录、运行统计分析等日常维护任务。Oracle ...
Oracle提供了多种数据导出工具,如SQL*Plus的`spool`命令、`expdp`(数据泵导出)或PL/SQL程序。在这个案例中,由于我们希望导出特定表的特定字段,可能需要结合SQL查询来实现。例如,你可以编写一个SQL查询,使用`...
### Oracle定时备份的相关知识点 #### 一、Oracle定时备份概述 在数据库管理中,定期进行数据备份是一项重要的工作,能够确保在系统发生故障时能够快速恢复数据,减少数据丢失的风险。Oracle作为一款广泛使用的...
例如,在Windows中,打开任务计划程序,创建新任务,设置触发器为每天特定时间执行LogicBackup.bat,同时指定适当的权限。 3. 测试与监控:确保定时任务按预期工作,定期检查备份的完整性和可用性。 定时备份的策略...
在Linux环境中,可以将上述RMAN命令写入一个.sh文件,然后使用cron来定时执行这个脚本。在Windows环境下,可以创建一个批处理文件,并用任务计划程序来调用。 在实际使用中,还需要考虑到一些额外因素,例如数据库...
1. 使用操作系统定时任务:如Unix/Linux的cron或Windows的任务计划程序,定期执行expdp和impdp脚本。 2. Oracle的DBMS_SCHEDULER:在数据库级别设置定时任务,直接调用PL/SQL存储过程执行导出导入。 五、最佳实践 -...
Oracle定时任务,是数据库管理中的一个重要组成部分,它允许系统管理员或开发者按照预定义的时间间隔执行特定的任务,如数据备份、清理、报表生成等。在Oracle中,这种功能通常通过DBMS_SCHEDULER或以前的DBMS_JOB包...
通过配置数据库连接信息和要执行的sql语句,可实现定时执行多个sql语句。 所要执行的语句只能是写死的,可支持sqlserver mysql oracle。 配置说明: config/sys.properties 中指定数据库类型及连接信息,执行间隔...
该工具的“AutoBackup.exe”可能是一个可执行程序,负责调度和执行备份任务。它可能包含以下功能: 1. **配置备份策略**:用户可以设置备份的频率(每日、每周等)、备份类型(完整、增量)、备份路径等。 2. **...
标签“pb定时备份”,“oracle”,“oracle_备份”,“pb数据库”进一步确认了这个压缩包的内容,它包含一个PowerBuilder(PB)创建的程序,该程序被设计来自动执行Oracle数据库的备份任务。 压缩包内的文件名称...
3. 配置crontab,设置定时执行脚本,例如*/10 * * * * "/home/share/backup" 知识点6:环境变量的重要性 在使用crontab来实现Oracle定时备份设置方法时,需要注意环境变量的重要性。 Oracle用户的环境变量需要手动...