广告
返回顶部
首页 > 资讯 > 数据库 >oracle JOB
  • 684
分享到

oracle JOB

2024-04-02 19:04:59 684人浏览 独家记忆
摘要

每天1点执行的oracle JOB样例DECLAREX NUMBER;BEGINSYS.DBMS_JOB.SUBMIT( job => X,what => 'ETL_RUN_D_Date;'

每天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 hh34: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 hh34: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


您可能感兴趣的文档:

--结束END--

本文标题: oracle JOB

本文链接: https://www.lsjlt.com/news/48483.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • oracle JOB
    每天1点执行的oracle JOB样例DECLAREX NUMBER;BEGINSYS.DBMS_JOB.SUBMIT( job => X,what => 'ETL_RUN_D_Date;'...
    99+
    2022-10-18
  • Oracle Job Chain
    Job Chains创建chain的顺序创建chain object;定义chain中的steps;增加规则;启用chain;创建指向这个chain的job。创建Chain Object实验描述:ENV:c...
    99+
    2022-10-18
  • oracle中的job
    oracle知识点-joboracle中的job类似于Linux中的crontab的作用,用于定时执行某些操作相关视图:dba_jobs,user_jobs,all_jobs,dba_jobs_runnin...
    99+
    2022-10-18
  • oracle job的迁移
    因为JOB的内容是写死的,如果使用remap导入到别的用户下,其log_user等还是原来的,再加上job的id是固定的,很可能和当前库有冲突,所以建议取出job的ddl。 dbms_metada...
    99+
    2022-10-18
  • oracle的定时器job
    1、创建一个存储过程my_proc();2、创建一个定时器,这是这个JOB在创建的时候已经被运行;declare test_job number;begin    s...
    99+
    2022-10-18
  • oracle job一直运行
    用oracle的job定时调用存储过程,如存储过程陷入死循环或其他原因导致,job的状态是一直运行。这时,手动调用存储过程,由于锁表的原因,存储过程也会执行不下去。此时,需要先停掉job,命令如下:BEGI...
    99+
    2022-10-18
  • oracle 中怎么创建JOB
    今天就跟大家聊聊有关oracle 中怎么创建JOB,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、创建JOB,可以指定固定的时间(对运行时间的管理...
    99+
    2022-10-18
  • Oracle数据库定时器Job
    写法: declare jobno number; begin dbms_job.submit( jobno, 'nextMonthInventoryCARRYFORWAR...
    99+
    2022-10-18
  • oracle job 定时执行参数
    oracle job 常见的执行时间1、每分钟执行trunc(sysdate,'mi')+1/(24*60)2、每天定时执行如:每天凌晨0点执行trunc(sysdate+1)每天凌晨1点执行trunc(s...
    99+
    2022-10-18
  • ORA-23421: job number string is not a job in the job queue ORACLE 报错 故障修复 远程处理
    文档解释 ORA-23421: job number string is not a job in the job queue Cause: There is no job visible to the caller with the gi...
    99+
    2023-11-05
    报错 故障 job
  • pb怎么调用oracle中的job
    要在Oracle中调用一个job,你可以使用Oracle的DBMS_SCHEDULER包来实现。下面是一些示例代码来展示如何调用一个...
    99+
    2023-10-28
    PB oracle
  • Oracle job自动任务实用指南
    作为oracle的定时任务,oracle job介于服务器层级的crontab和应用程序(如java spring的定时任务)之间,在数据库层对数据处理有重要的价值。下面简单分享一下oracle job如何...
    99+
    2022-10-18
  • Oracle job定时任务怎么理解
    这篇文章主要介绍“Oracle job定时任务怎么理解”,在日常操作中,相信很多人在Oracle job定时任务怎么理解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Orac...
    99+
    2022-10-19
  • ORA-32317: cannot run a job from a job ORACLE 报错 故障修复 远程处理
    文档解释 ORA-32317: cannot run a job from a job Cause: An attempt was made to execute a job from within another job. Action:...
    99+
    2023-11-05
    报错 故障 ORA
  • 如何在SQL Server和Oracle中创建job
    这篇文章主要讲解了“如何在SQL Server和Oracle中创建job”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何在SQL Server和Oracl...
    99+
    2022-10-18
  • Oracle数据库JOB失败怎么解决
    今天小编给大家分享一下Oracle数据库JOB失败怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起...
    99+
    2022-10-19
  • Oracle调度Schedule特性(第一部分)-job
    在主机层面,我想要执行一些定时任务,通常会使用crontab。方便又实用,那么oracle里面是不是也有定时任务的概念呢? Oracle Scheduler的引入就是用来管理和计划数据库的Job,通过它可以...
    99+
    2022-10-18
  • Oracle 11g 测试停库对job的影响
    环境: OS:Centos 7.5 DB:Oracle 11.2.0.4.0单实例 场景一:job没开始,停库, 再次起库后,起库时间为job开始时间,开始自动运行job,不会自动...
    99+
    2022-10-18
  • ORA-47961: Oracle Scheduler Job authorization for Oracle Database Vault to string already exists ORA
    文档解释 ORA-47961: Oracle Scheduler Job authorization for Oracle Database Vault to string already exists Cause: Oracle Sche...
    99+
    2023-11-05
    报错 故障 Scheduler
  • ORA-27399: job type EXECUTABLE requires the CREATE EXTERNAL JOB privilege ORACLE 报错 故障修复 远程处理
    文档解释 ORA-27399: job type EXECUTABLE requires the CREATE EXTERNAL JOB privilege Cause: The owner of a job of type EXECUTA...
    99+
    2023-11-05
    报错 故障 type
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作