`

oracle job的简介和实例

 
阅读更多

原文地址:http://guyuanli.itpub.net/post/37743/484763

 

每天1点执行的oracle JOB样例

DECLARE
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT
( job => X,
what => 'ETL_RUN_D_Date;',
next_date => to_date('2009-08-26 01:00:00','yyyy-mm-dd hh24:mi:ss'),
interval => 'trunc(sysdate)+1+1/24',
no_parse => FALSE
);
SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));
COMMIT;
END;
/
以上是明确指定每天的1点执行此job,如果指定是每天中午12点执行interval需要指定为'trunc(sysdate)+1+12/24',如果仅仅指定interval为一天,这样当你手工用dbms_job.run(job)去运行一次时,job每天的执行时间是会改变的,如果你想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)

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 实例是指...创建 Job 实例需要遵循特定的步骤和配置,包括确保 Oracle 的工作模式允许启动任务队列管理器、配置任务队列管理器的启动参数、将任务加入到数据库的任务队列中等。

    Oracle 创建 job 实例

    ### Oracle 创建 Job 实例 在 Oracle 数据库管理与开发中,创建定时任务是十分常见的需求之一。例如,可能需要每分钟将一个表中的数据更新到另一个表中,这样的任务可以通过创建 Oracle 的 Job 来实现。 #### 一、...

    oracle job实例 测试通过

    从给定的Oracle Job实例测试通过的描述与代码片段中,我们可以提炼出多个关于Oracle数据库管理、编程与作业调度的关键知识点。以下是对这些知识点的详细解释: ### 1. 创建序列(Sequence) 在Oracle数据库中,...

    linux下oracle手动建实例

    - 示例中指定了两个实例,分别是`bgroup`和`robot8`。 ##### 2. 创建所需的文件目录 - 需要为实例创建一系列目录,用于存放各种类型的文件: - `admin`:用于存放实例的日志文件、跟踪文件等。 - `oradata`:用于...

    Oracle中job的实例

    ### Oracle中的Job定时任务详解与应用 #### 一、Oracle Job概述 在Oracle数据库中,Job是一种非常重要的机制,用于实现数据库的定时任务自动化。它主要用于执行预定义的PL/SQL代码块,如存储过程或者匿名块等。Job...

    linux下oracle创建实例总结

    ### Linux 下 Oracle 10.2.0 创建实例详尽指南 #### 一、环境配置与准备 在开始创建 Oracle 数据库实例之前,确保已经安装了 Oracle 10.2.0 版本,并...通过这些步骤,能够确保 Oracle 实例的安全运行和高效管理。

    oraclejob例子

    3. **Oracle Job实例** 例如,创建一个每小时运行的简单PL/SQL作业,用于更新统计数据: ```sql BEGIN DBMS_SCHEDULER.CREATE_JOB ( job_name => 'UPDATE_STATISTICS', job_type => 'PLSQL_BLOCK', job_...

    Oracle数据库基本操作实例

    以上内容详细介绍了Oracle数据库中的一些基本操作实例,包括数据定义语句、数据操作语句和数据控制语句等。这些操作是数据库管理和维护的基础,对于任何从事IT行业的专业人士来说都是必不可少的知识点。希望这些示例...

    手动创建oracle实例

    Oracle实例是运行在服务器上的软件环境,包括内存结构和后台进程,它为访问数据库提供服务。每个Oracle实例都对应一个数据库,通过实例,用户可以执行SQL语句、管理数据等操作。 ### 二、初始化参数文件initORCL....

    【RAC】rac中如何指定job的运行实例.pdf

    在RAC环境中,管理任务的执行通常涉及到了解如何指定特定的job在特定的实例上运行,这在数据库的日常管理和维护中是一个重要的知识点。 在Oracle数据库中,job是通过DBMS_JOB和DBMS_SCHEDULER这两个包来管理的。这...

    Oracle利用job和dblink高级数据库同步技术

    本文将深入探讨如何利用Oracle的Job和DBLink功能进行高级数据库同步技术,以确保数据的一致性和实时性。 首先,让我们了解Oracle Job。Job是Oracle的一个调度工具,它允许用户在特定时间或按固定频率执行数据库操作...

    oracle10g创建、启用、执行、停用、删除、查询job实例

    oracle10g创建、启用、执行、停用、删除、查询job实例

    oracle创建job实例[参考].pdf

    - **配置作业队列参数**:在Oracle的初始化文件(如`initmyora8.ora`)中,设置`job_queue_processes`和`job_queue_interval`参数。前者定义SNP进程的数量,后者定义唤醒SNP进程的间隔。修改后需重启数据库使配置...

    oraclejob+存储过程的使用示例.pdf

    Oracle Job和存储过程是Oracle数据库管理系统中的重要工具,它们在自动化数据库维护、数据处理和业务逻辑执行方面发挥着关键作用。本文将详细讲解如何使用Oracle Job配合存储过程,并解析相关的关键概念。 首先,...

    Oracle JOB,procedure,cursor 的使用

    以下是一些关于Oracle JOB、PROCEDURE和CURSOR的实例应用: 1. 使用JOB定时执行存储过程:你可以创建一个存储过程,例如更新表中的数据,然后设定一个JOB在每天凌晨执行这个过程,确保数据保持最新。 2. 游标的...

    job 存储过程 视图 游标结合实例

    以上就是Oracle Job、存储过程、视图和游标在实际应用中的基本概念和结合实例,它们共同构成了数据库管理和自动化操作的重要部分。理解并熟练掌握这些工具,能显著提升数据库的管理和维护效率。

    Oracle AQ使用实例

    "Oracle AQ使用实例" Oracle AQ(Advanced Queuing)是一种消息队列技术,可以实现异步消息传递,在企业级应用中扮演着重要角色。本文将通过一个实例来详细介绍 Oracle AQ 的使用。 一、AQ 的安装和配置 AQ 需要...

    oracle job 例子

    在本篇文章中,我们将深入探讨 Oracle Job 的概念、创建方法以及如何监控和管理这些任务。 首先,Oracle Job 通过 DBMS_JOB 包或 DBMS_SCHEDULER 包来创建和管理。DBMS_JOB 是早期版本 Oracle 提供的接口,而 DBMS_...

    oracle进阶实例代码

    总结来说,通过以上示例可以看出,在Oracle中使用存储过程和函数可以极大地提高代码的复用性和可维护性。同时,合理地利用游标也能有效提升数据处理的灵活性和效率。这些知识点对于学习和掌握Oracle数据库的高级应用...

Global site tag (gtag.js) - Google Analytics