job里面的last_date和next_date,以及interval之间是什么关系,last_date到底是记的job的开始执行时间,还是执行结束的时间。next_date到底是job的开始时间还是结束时间加上interval得出的呢?
如果一个Job的执行时间比较长(比如超过了interval),会不会出现多个同样的job同时执行呢?
last_date=开始时间
last_date+interval=next_date
但要清楚,next_date通常不是真正的开始时间,真正的开始时间往往比next_date晚几秒,也就是延时。
1
job的next time是在job开始执行的时候就算好了
不过是在job成功执行之后才写上去
当job的执行时间超过interval时候也就是说在job的执行过程中nexttime就已经过了
那么nexttime就变为job执行完时的时间
2
SQL> exec dbms_job.broken(21,true);
PL/SQL过程被成功完成
SQL> select * from user_jobs;
SQL> exec dbms_job.run(21);
PL/SQL过程被成功完成
SQL> select * from user_jobs;
试写一计划任务:
declare
v_job number :=1;
begin
dbms_job.submit(v_job,'sp_fact_charge_code;',sysdate,'sysdate+1/1440');
commit;
end;
/
解释一下上面的程序
程序主体有四个参数,分别意为:v_job是计划任务号,'sp_fact_charge_code'是计划任务名,如果是多个计划任务,就都用分号隔开,第三个sysdate意为立即执行此任务,第四个参数是间隔时间的设置,此处为每分钟执行一次,1/1440=1/24/60。
查看任务:select * from user_jobs;select * from all_jobs;
查看正在运行的任务(不推荐使用,速度慢):select * from dba_jobs_running;
另外值得一提的是,在安装oracle配置的时候,有这么一个参数:
job_queue_processes=4 (默认4)
这个参数是定义当前最多可同时运行几个job,它的最大值能设置为36。
除了submit参数外,其余的几个参数有:
dbms_job.run(v_job); //运行job
dbms_job.broken(v_job,true,next_date); //停止一个job,里面参数true也可是false,next_date(某一时刻停止)也可是sysdate(立刻停止)。
dbms_job.remove(v_job); //删除某个job
dbms_job.what(v_job,'sp_fact_charge_code;'); //修改某个job名
dbms_job.next_date(v_job,sysdate); 修改下一次运行时间
例题,设定每天2:10:10运行
trunc(sysdate)+2/24+10/24/60+10/24/60/60 //运行时间
trunc(sysdate)+1+2/24+10/24/60+10/24/60/60 //间隔运行时间
例题,设定每月2号的2:10:10运行
trunc(sysdate,'mm')+1+2/24+10/24/60+10/24/60/60 //运行时间
trunc(add_mouths(sysdate,1),'mm')+1+2/24+10/24/60+10/24/60/60 //间隔运行时间
例题,设定每个季度……
trunce(sysdate,'Q')+1+2/24+10/24/60+10/24/60/60 //运行时间
trunce(add_mouths(sysdate,3),'Q'))+1+2/24+10/24/60+10/24/60/60 //间隔运行时间
另外年为'Y;
例题,设定每周一……
next_day(sysdate'星期一')
相关推荐
### Oracle Job 创建脚本详解 #### 一、Oracle Job 概述 在Oracle数据库中,Job是一种用于调度定期任务的功能,常被用来自动化执行数据库管理中的各种任务,比如备份、清理临时表空间等。Job主要由`DBMS_JOB`包...
在提供的脚本中,首先声明了一个名为`job`的变量,类型为`number`。这个变量用于存储新创建Job的ID,这是后续操作中识别和管理Job的关键。 3. **DBMS_JOB.SUBMIT过程**: `sys.dbms_job.submit`是创建新Job的主要...
本文将深入探讨Oracle中的JOB创建,以及如何编写和使用相应的脚本来设定定时任务。 首先,我们需要理解Oracle中的DBMS_JOB包,这是Oracle提供的一组过程,用于创建、修改和管理JOB。DBMS_JOB包包含以下主要过程: ...
/*oracle jobs 导出为执行脚本 <br> 就是把all_jobs或dba_jobs,导成DBMS_JOB.SUBMIT可以插入job的格式 其中all_jobs是当前用户的job,dba_jobs则是全部 下面只是随便整理了下,可以按照个人需要修改 ...
从oracle库中导出自定义的job脚本。
1. **Cron Job (crontab)**:通过crontab服务实现脚本的周期性执行。 - **使用权限与方式**:所有用户均可使用crontab服务。使用`crontab [-u user] file`或`crontab [-u user] { -l | -r | -e }`命令进行配置。 ...
### crond 执行ORACLE rman备份脚本失败的几种情况及解决 在日常的数据库管理工作中,通过Linux系统的crond来安排Oracle RMAN备份任务是一种常见的做法。然而,在实际操作过程中,有时会遇到crond无法正常执行...
Oracle的JOB功能是一种定时任务调度机制,用于在数据库后台自动执行预定义的PL/SQL代码块或存储过程。以下是对Oracle JOB用法的详细总结: 首先,为了启用JOB队列,需要设置初始化参数`job_queue_processes`。通过...
Oracle Job是Oracle数据库中的一个核心特性,用于在预定义的时间执行特定的数据库任务,比如运行SQL脚本、数据备份、维护或性能监控等。Oracle Job的全称是Database Scheduler Job,它通过Oracle Database Scheduler...
为了安全起见,这个脚本应该配置为定期任务,例如通过Windows的任务计划程序或Linux的cron job,以确保在固定的时间点自动执行。此外,为了验证备份的完整性,应定期进行恢复测试。 总的来说,`backup.bat`脚本是一...
在本篇文章中,我们将深入探讨如何创建Oracle JOB脚本以及如何设置不同的时间间隔。 首先,创建一个JOB的基本步骤如下: 1. 宣告变量:`job` 是一个BINARY_INTEGER类型的变量,用来存储JOB的编号;`v_begin` 是...
4. **定期执行**:为了持续监测,可以将脚本设置为定时任务,如使用cron job在Linux系统中定期运行。 5. **结果解析**:监测结果通常会输出到日志文件或标准输出,DBA需要解析这些信息,进行故障排查和性能优化。 ...
本文将深入探讨"ORACLE的SQL语句脚本",特别是涉及的PL/SQL语言,以及如何利用这些脚本来创建表、索引和视图。 首先,我们来理解SQL(Structured Query Language),它是用于管理和操作数据库的标准语言。在Oracle...
在Oracle中,HR用户创建脚本通常涉及到建立一个特定的模式(schema),用于存储与人力资源相关的所有数据。一个模式在Oracle中相当于一个逻辑数据库,它可以包含表、视图、索引、存储过程等对象。 在Oracle HR创建...
5. **资源调度**:脚本可能包含定时任务(如cron job),以确保备份在特定时间自动运行。这有助于避免在业务高峰期进行备份,减少对系统性能的影响。 6. **日志记录**:脚本应该记录备份过程中的详细信息,包括成功...
总结来说,"OracleHR表结构脚本"是用于构建和填充Oracle数据库中人力资源管理相关的表的SQL脚本,包括创建表结构的DDL和插入数据的DML。这些脚本在数据库设计、开发、培训和测试等场景中非常实用。
Oracle巡检脚本是一系列预先编写好的脚本程序,其目的在于自动化执行一系列检查任务,用以评估Oracle数据库及其运行环境的状态。该巡检脚本内容十分丰富,涵盖了操作系统检查、Oracle数据库检查、以及一些特定的功能...
10. **自动化工具**:Oracle提供了一些自动化工具,如DBMS_SCHEDULER进行计划任务,DBMS_JOB则适合旧版本的Oracle,它们可以用于定期执行脚本。 11. **版本控制**:使用版本控制系统(如Git)对脚本进行版本管理,...
Oracle中的JOB是一个重要的后台机制,用于自动化执行定时任务。这些任务可以是数据库维护、数据清理、备份或者其他任何基于时间的数据库操作。Oracle数据库利用SNP(Scheduler)进程来管理和执行这些JOB。 SNP...
3. 脚本调用和调度:可能使用Linux的cron job或其他调度工具,定时执行备份任务。 4. 备份策略:如何根据业务需求和磁盘空间情况,设定备份的频率、保留周期和清理策略。 5. 恢复脚本:除了备份,可能还包含了如何...