`

Oracle Job 语法和时间间隔的设定

阅读更多
Oracle Job 语法和时间间隔的设定
--------------------------

初始化相关参数job_queue_processes
alter system set job_queue_processes=39 scope=spfile;//最大值不能超过1000 ;job_queue_interval = 10 //调度作业刷新频率秒为单位

job_queue_process 表示oracle能够并发的job的数量,可以通过语句  

show parameter job_queue_process;

来查看oracle中job_queue_process的值。当job_queue_process值为0时表示全部停止oracle的job,可以通过语句

ALTER SYSTEM SET job_queue_processes = 10;

来调整启动oracle的job。

相关视图:
dba_jobs
all_jobs
user_jobs
dba_jobs_running 包含正在运行job相关信息



-------------------------

提交job语法:

begin
sys.dbms_job.submit(job => :job,
                      what => 'P_CLEAR_PACKBAL;',
                      next_date => to_date('04-08-2008 05:44:09', 'dd-mm-yyyy hh24:mi:ss'),
                      interval => 'sysdate+ 1/360');
commit;
end;
/



-------------------------
创建JOB
variable jobno number;
begin
dbms_job.submit(:jobno, 'P_CRED_PLAN;',SYSDATE,'SYSDATE+1/2880',TRUE);
commit;

运行JOB
SQL> begin
         dbms_job.run(:job1);
         end;
         /

删除JOB
SQL> begin
        dbms_job.remove(:job1);
        end;
        /

DBA_JOBS
===========================================
字段(列)          类型                 描述
JOB                NUMBER          任务的唯一标示号
LOG_USER           VARCHAR2(30)    提交任务的用户
PRIV_USER          VARCHAR2(30)    赋予任务权限的用户
SCHEMA_USER        VARCHAR2(30)    对任务作语法分析的用户模式
LAST_DATE          DATE            最后一次成功运行任务的时间
LAST_SEC           VARCHAR2(8)     如HH24:MM:SS格式的last_date日期的小时,分钟和秒
THIS_DATE     DATE            正在运行任务的开始时间,如果没有运行任务则为null
THIS_SEC     VARCHAR2(8)     如HH24:MM:SS格式的this_date日期的小时,分钟和秒
NEXT_DATE          DATE            下一次定时运行任务的时间
NEXT_SEC           VARCHAR2(8)     如HH24:MM:SS格式的next_date日期的小时,分钟和秒
TOTAL_TIME         NUMBER          该任务运行所需要的总时间,单位为秒
BROKEN             VARCHAR2(1)     标志参数,Y标示任务中断,以后不会运行
INTERVAL           VARCHAR2(200)   用于计算下一运行时间的表达式
FAILURES    NUMBER     任务运行连续没有成功的次数
WHAT               VARCHAR2(2000) 执行任务的PL/SQL块
CURRENT_SESSION_LABEL RAW          MLSLABEL 该任务的信任Oracle会话符
CLEARANCE_HI      RAW MLSLABEL     该任务可信任的Oracle最大间隙
CLEARANCE_LO      RAW              MLSLABEL 该任务可信任的Oracle最小间隙
NLS_ENV           VARCHAR2(2000)   任务运行的NLS会话设置
MISC_ENV          RAW(32)          任务运行的其他一些会话参数



--------------------------
描述                    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)

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 语法和时间间隔的设定.htm

    Oracle Job 语法和时间间隔的设定

    oracle job使用详解

    这需要指定 `job` 参数(Job 的唯一标识)、`what` 参数(要执行的 PL/SQL 代码)、`next_date` 参数(首次执行的日期和时间)和 `interval` 参数(之后的执行间隔)。在本例中,`interval => 'trunc(sysdate)+1+1/...

    Oracle Job定时任务

    Oracle Job 定时任务 Oracle Job 定时任务是 Oracle 数据库中的一种定时执行任务的机制,它允许用户在指定的...Oracle Job 定时任务提供了一个强大的机制来执行定时任务,可以根据不同的时间间隔和执行频率来设置。

    oracle job 创建

    Oracle Job 是 Oracle 数据库中的一个特性,用于在预定义的时间间隔自动执行数据库任务,例如运行存储过程、PL/SQL 块或者 SQL 查询。对于初学者来说,理解如何创建、运行和管理 Oracle Job 是十分重要的。 1. **...

    oracle中的job的用法

    它是一个日期/时间表达式,可以指定不同的时间间隔来运行Job。例如,'TRUNC(SYSDATE+1)'表示每天午夜12点执行,'TRUNC(SYSDATE+1)+(8*60+30)/(24*60)'表示每天早上8点30分执行。 为了使Job工作正常运行,需要设置...

    oracle_job的创建更改及删除

    其中,`SYSDATE` 函数返回当前系统日期和时间,`TRUNC` 函数可以截去日期的时分秒,`NEXT_DAY` 函数可以计算下一个工作日。 例如,计算作业的执行时间为每天下午 2 点: ```sql trunc(sysdate+1)+14/24 ``` ...

    Oracle中job的使用详解

    Oracle 中的 Job 是一个计划任务,它可以在指定的时间点或间隔执行存储过程、函数或其他 PL/SQL 块。 Job 可以用来执行各种任务,如数据导出、数据备份、报表生成、数据清理等等。 使用 Oracle 的 Job 需要设置...

    oracle job 用法

    - `next_date`:Job首次执行的日期和时间。 - `interval`:后续重复执行的间隔,例如`'SYSDATE+1'`表示每天执行一次。 - `no_parse`:是否在执行时解析SQL语句,默认为FALSE,即每次执行都会重新解析。 #### 管理...

    Oracle Job定时任务.pdf

    通过 Oracle Job,用户可以根据需要,设置任务的执行时间和频率,从而提高数据处理效率和自动化程度。 一、查询系统中的 Job 为了查询系统中的 Job,用户可以使用以下三个视图: * DBA_JOBS:显示所有用户的 Job ...

    Oracle中job的使用详解.pdf

    在设置和管理Job时,初始化参数`job_queue_processes`是必需的,它限制了同时可以执行的后台作业进程的数量。可以通过`ALTER SYSTEM SET job_queue_processes=n`来设置,其中n大于0,最大值为1000。同时,可以使用`...

    oracle-Job-管理.docx

    其中,`:jobno`是Job的编号,`your_procedure`是要执行的存储过程,`trunc(sysdate) + 1/24`和`trunc(sysdate) + 1/24 + 1`分别表示下次执行时间和每次间隔时间。 Job的相关操作包括: - 删除Job:`DBMS_JOB.BREAK...

    Oracle中job的使用详解.docx

    Oracle 中 job 的参数有很多,包括 job 的唯一标识号、提交任务的用户、赋予任务权限的用户、对任务作语法分析的用户模式、最后一次成功运行任务的时间、正在运行任务的开始时间、下一次定时运行任务的时间、总时间...

    oracle job 例子

    Oracle Job 是 Oracle 数据库中的一个特性,用于在指定的时间执行一系列数据库操作,这些操作可以是 PL/SQL 块、存储过程或者包。这个功能在数据库管理、数据维护、批处理任务等方面非常实用。在本篇文章中,我们将...

    Oracle定时器

    Oracle 定时器的间隔设置可以根据需要设定,例如: * 每分钟执行:`trunc(sysdate,'mi')+1/(24*60)` * 每天定时执行:`trunc(sysdate)+1+(2/24)` * 每周定时执行:`trunc(next_day(sysdate,2))+(2/24)` * 每月定时...

    Oracle+job+的使用与管理技巧[借鉴].pdf

    Oracle Job 是 Oracle 数据库中的一个特性,用于在预定义的时间执行数据库操作,如定期备份、统计分析或数据清理等。Job 的使用与管理是数据库管理员(DBA)日常维护工作的重要部分,尤其对于大型企业应用而言,有效...

    DBMS_JOB使用方法

    `DBMS_JOB` 是 Oracle 数据库提供的用于调度任务的包,可以实现对定时任务的管理,包括任务的创建、修改、删除及执行等操作。该包提供了多种过程和函数,允许用户以灵活的方式控制定时任务的执行。 #### 二、主要...

    在Oracle中实现后台自动执行的定时操作

    在Oracle数据库中,JOB队列是一种用于调度后台任务的机制,允许用户定义一系列的作业,这些作业可以在指定的时间点或者周期性地执行。这一功能由数据库的系统守护进程SNP(System Notification Process)负责管理,...

    oracle系统包

    Oracle系统包中的`dbms_job`是一个非常重要的功能组件,它主要用于在Oracle数据库中安排和管理后台作业(job),使得数据库能够定期执行特定的任务。这对于自动化数据库管理和维护操作至关重要。本文将详细介绍`dbms...

    oracle scheuler

    - `START_DATE`: 指定任务首次运行的日期和时间。 - `REPEAT_INTERVAL`: 定义任务重复执行的时间间隔。 如果用户拥有足够的权限,还可以为其他 Schema 创建 Job。此时,`JOB_NAME` 应遵循 `schema.job_name` 的格式...

Global site tag (gtag.js) - Google Analytics