主要的使用情景
定时在后台执行相关操作:如每天晚上0点将一张表的数据保存到另一张表中,2:定时备份数据库等。
begin
sys.dbms_job.submit(job => :job,
what => 'insert into test(id) values(1);',
next_date => to_date('19-10-2012 14:51:11', 'dd-mm-yyyy hh24:mi:ss'),
interval => 'sysdate+1/1440');
commit;
end;
/
以上语句从2012-10-19 15:51:11开始定时每分钟执行一次插入操作。
1、语法:
创建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代码应立即进行语法分析。
2、查看相关job信息
dba_jobs
all_jobs
user_jobs
dba_jobs_running 包含正在运行job相关信息。
如:
select * from dba_jobs
3、运行JOB
说明:Run()过程用来立即执行一个指定的工作。这个过程只接收一个参数:
SQL> begin
2 dbms_job.run(:job);
3 end;
4 /
4、删除JOB
SQL> begin
2 dbms_job.remove(:job);--:job可以用dba_jobs.job的值代替如:1198
3 end;
4 /
如果指定是每天中午12点执行interval需要指定为
'trunc(sysdate)+1+12/24',如果仅仅指定interval为一天,这样当你手工用dbms_job.run(job)去运行一次
时,job每天的执行时间是会改变的,如果你想job每天在固定时间执行,可以参考上面的例子.
描述 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
分享到:
相关推荐
Oracle中job的使用详解 Oracle 中的 Job 是一个非常强大且灵活的功能,它允许开发者在数据库中执行计划任务,提高数据库的自动化程度和效率。那么,什么是 Oracle 中的 Job 呢? Oracle 中的 Job 是一个计划任务,...
Oracle Job 是 Oracle 数据库中的一个特性,用于在预定义的时间间隔自动执行 PL/SQL 块或存储过程。Oracle Job 的使用对于实现定时任务、批处理操作和维护工作至关重要。以下是对 Oracle Job 使用的详细解释: 1. *...
oracle job 的使用总结,通过dbms 创建job,从而执行存储过程
从oracle库中导出自定义的job脚本。
Oracle中的JOB是一个重要的后台机制,用于自动化执行定时任务。这些任务可以是数据库维护、数据清理、备份或者其他任何基于时间的数据库操作。Oracle数据库利用SNP(Scheduler)进程来管理和执行这些JOB。 SNP...
在Oracle数据库管理中,有时我们需要停止正在运行的JOB,这可能是由于各种原因,如发现错误、优化性能或调整资源分配。本文将详细阐述如何在Oracle中查询并停止正在运行的JOB,包括关键步骤、涉及的表与视图以及具体...
在Oracle中,创建一个Job主要涉及以下几个步骤: 1. **定义存储过程**:首先,我们需要编写一个存储过程来封装要定时执行的操作。例如,如果要每天创建一个新的表来记录更新的节目信息,我们可以创建一个名为`sp_...
本文将深入探讨Oracle中的JOB创建,以及如何编写和使用相应的脚本来设定定时任务。 首先,我们需要理解Oracle中的DBMS_JOB包,这是Oracle提供的一组过程,用于创建、修改和管理JOB。DBMS_JOB包包含以下主要过程: ...
Oracle 中 job 的使用详解 Oracle 中的 job 是一种非常强大的功能,可以帮助开发者自动执行各种复杂的业务逻辑。通过使用 Oracle 的存储过程,可以大大减少 Java 程序代码的编写工作量,并且存储过程执行在数据库上...
Oracle Job是Oracle数据库中的一个强大特性,主要用于在特定时间或间隔执行数据库操作,例如数据备份、维护任务或者定期的数据处理。以下是对Oracle Job使用方法和技巧的详细说明: 一、创建Oracle Job Oracle Job...
Oracle 创建 Job 实例是指在 Oracle 数据库中创建一个计划任务,用于在特定的时间点执行特定的操作。以下是创建 Job 实例的详细过程和相关知识点: 一、创建 Job 实例 要创建一个 Job 实例,需要使用 dbms_job....
关于oracle 数据库中job任务如何创建、查询和修改、如何启用job和停止job,可以帮助新手了解job的使用,包括任务运行时间的设置,具体的代码很实用,希望对你有帮助
Oracle 中创建 Job 是实现数据库定期任务的重要步骤,可以是定期执行存储过程或者简单的 SQL 语句。在 Oracle 中,Job 是一个异步执行的任务,可以根据需要设置执行频率和执行时间。本文将详细介绍 Oracle 中创建 ...
Oracle Job 定时任务是 Oracle 数据库中的一种定时执行任务的机制,它允许用户在指定的时间点或每天的某个时间点自行执行任务。 一、查询系统中的 Job 可以通过以下视图查询系统中的 Job: * `DBA_JOBS`: 查询所有...
Oracle Job是Oracle数据库中的一种调度工具,用于在指定的时间执行一系列数据库操作,如PL/SQL块、存储过程、包或操作系统命令。Oracle Job是Oracle的DBMS_SCHEDULER或之前版本中的DBMS_JOB包的一部分,它允许数据库...
Oracle中的Job主要用于数据库中任务的定时执行,具体来说是定时执行存储过程。使用Job可以让一些需要周期性处理的业务逻辑自动化运行,减少编程工作量,提升执行效率和程序稳定性。在Oracle中,Job的实现依赖于Job ...
在 Oracle 中,可以使用 `DBMS_JOB` 包来提交和管理定时任务。以下是如何创建一个定时任务的例子: 1. **使用 `DBMS_JOB.SUBMIT` 方法**:这个方法允许你定义定时任务的基本属性,包括执行的存储过程、下一次执行的...
### Oracle Job 创建脚本详解 ...综上所述,Oracle Job 是一个非常强大的工具,通过合理的配置和使用,可以在数据库管理中发挥重要作用。在实际应用中,还需要结合具体情况灵活运用,不断优化和完善Job的设置。
在这个“xxl-job oracle 适配版本”中,我们主要关注的是XXL-JOB如何与Oracle数据库进行集成和优化。 首先,Oracle数据库是一种广泛使用的、功能强大的关系型数据库管理系统,尤其在大型企业级应用中,其稳定性和...
"Oracle Job 创建、更改和删除" Oracle Job 是一种自动执行任务的机制,允许数据库管理员创建、更改和删除作业以实现自动执行任务。本文将对 Oracle Job 的创建、更改和删除进行详细的介绍。 创建作业 创建作业...