`
hulu26
  • 浏览: 225874 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

oracle job(定时任务)

阅读更多
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代码应立即进行语法分析。

在command window窗口中执行下面脚本
variable pc_job number;
begin
  sys.dbms_job.submit(
  pc_job,
  'pro_name;',
  sysdate,
  'sysdate+1/1440'
  );
  commit;
end;
/

在plSQL中我的做法是
declare 
  pc_job number;    
begin
  sys.dbms_job.submit(pc_job,'pro_name;',sysdate,'sysdate+1/1440');
  commit;
end;

时间间隔设置
1)、 每分钟执行
Interval => TRUNC(sysdate,'mi')+1/(24*60)
2)、 每天定时执行
例如:每天的凌晨2点执行
Interval => TRUNC(sysdate)+1+2/24
3)、 每周定时执行
例如:每周一凌晨2点执行
Interval => TRUNC(next_day(sysdate,2))+2/24 --星期一,一周的第二天
4)、 每月定时执行
例如:每月1日凌晨2点执行
Interval =>TRUNC(LAST_DAY(SYSDATE))+1+2/24
5)、 每季度定时执行
例如每季度的第一天凌晨2点执行
Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 2/24
6)、 每半年定时执行
例如:每年7月1日和1月1日凌晨2点
Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+2/24
7)、 每年定时执行
例如:每年1月1日凌晨2点执行
Interval =>ADD_MONTHS(trunc(sysdate,'yyyy'),12)+2/24

2、运行JOB
说明:Run()过程用来立即执行一个指定的工作。这个过程只接收一个参数:
SQL> begin
2  sys.dbms_job.run(:pc_job);
3  commit;
4  end;
5  /

在plSQL中我的做法是:
begin
sys.dbms_job.run(dba_jobs.job);--:job可以用dba_jobs.job的值代替 eg:3017
commit;
end;

3、查看创建的job
查看相关job信息
1、相关视图
dba_jobs
all_jobs
user_jobs
dba_jobs_running 包含正在运行job相关信息。
如:
select * from dba_jobs

4、删除JOB
SQL> begin
2  sys.dbms_job.remove(dba_jobs.job);
3  commit;
4  end;
5  /

5、修改要执行的操作
SQL> begin
2  sys.dbms_job.what(dba_jobs.job,what);
3  end;
4  /

6、修改下次执行时间
SQL> begin
2  sys.dbms_job.next_date(dba_jobs.job,next_date);
3  commit;
4  end;
5  /

7、修改间隔时间
SQL> begin
2  sys.dbms_job.interval(dba_jobs.job,interval); 
3  commit;
4  end;
5  /

8、停止job
SQL> begin
2  sys.dbms_job.broken(dba_jobs.job,broken,nextdate);
3  commit;
4  end;
5  /

9、修改job_queue_processes的值(保证其不为0否则JOB不自动运行)
方法1: startup pfile='C:\oracle\ora90\database\initorcl.ora';
注:此方法修改initorcl.ora文件的job_queue_processes参数,然后重新启动数据库以后才能生效。

方法2: alter system set job_queue_processes=n;(n>0);
注:此方法不要重新启动数据库就能生效,系统自动修改init.ora文件
[b]

10、查看job_queue_processes的值
SQL> show parameter job_queue_processes;

    
分享到:
评论

相关推荐

    Oracle Job定时任务

    Oracle Job 定时任务 Oracle Job 定时任务是 Oracle 数据库中的一种定时执行任务的机制,它允许用户在指定的时间点或每天的某个时间点自行执行任务。 一、查询系统中的 Job 可以通过以下视图查询系统中的 Job: *...

    Oracle JOB 定时任务

    Oracle JOB 定时任务 定时执行存储过程

    Oracle Job定时任务.pdf

    Oracle Job 定时任务 Oracle Job 是 Oracle 数据库中的一种定时任务机制,允许用户在指定的时间点或每天的某个时间点执行任务。通过 Oracle Job,用户可以根据需要,设置任务的执行时间和频率,从而提高数据处理...

    Oracle Job定时任务.docx

    Oracle Job定时任务是Oracle数据库系统中一种强大的自动化功能,它允许管理员或开发人员安排数据库任务在特定的时间点或按照预定义的频率自动执行。Oracle Job主要用于执行PL/SQL块、存储过程、包或其他数据库操作,...

    ORACLE定时任务不能自动执行的检查修复步聚

    7. Oracle 定时任务的检查和修复步聚:通过检查 JOB_QUEUE_PROCESSES 参数的设置和修改,重启数据库,可以修复 Oracle 定时任务不能自动执行的问题。 这篇文章总结了 Oracle 定时任务不能自动执行的问题的检查和...

    oracle定时任务详解

    Oracle数据库中的定时任务(也称为作业或job)是Oracle系统中一个非常重要的子系统,它可以帮助用户自动执行一些常规性的任务,比如备份数据库、清理日志等。通过合理地利用Oracle定时任务,可以极大地提高系统的...

    plsql创建存储过程并创建job定时任务执行-详细笔记文档总结

    plsql创建存储过程并创建job定时任务执行详细笔记文档总结 在 Oracle 中,plsql 是一种强大的编程语言,可以用来创建存储过程和定时任务执行。在本文中,我们将详细介绍如何使用 plsql 创建存储过程并创建 job 定时...

    oracle的定时任务

    这一功能主要通过Oracle的`DBMS_JOB`包实现,它提供了一系列API用于创建、管理和监控定时任务。 #### 二、创建定时任务的步骤 创建Oracle定时任务的过程通常分为三个主要步骤:创建表或存储过程作为任务主体、在`...

    oracle定时任务

    Oracle定时任务,也被称为Oracle数据库的调度作业,是Oracle数据库管理系统提供的一种功能,允许用户预定义一系列操作,如运行SQL脚本、数据备份或数据清理等,并设定在特定时间自动执行。这种机制对于自动化数据库...

    oracle的job定时

    Oracle的Job定时功能是Oracle数据库系统提供的一种自动化任务调度机制,允许用户设定特定的时间点或时间间隔执行数据库操作。在项目开发中,特别是在大数据管理和分析的场景下,定时任务经常被用于更新数据、生成...

    oracle定时任务创建、查询等

    -- job 创建 begin dbms_scheduler.create_job ( job_name => 'AGENT_LIQUIDATION_JOB', job_type => 'STORED_PROCEDURE', job_action => 'AGENT_LIQUIDATION.LIQUIDATION', --存储过程名 start_date...

    job(oracle定时任务)界面管理工具

    Oracle的定时任务,通常被称为“Jobs”,是数据库管理系统中的一个重要组成部分,主要用于自动化执行数据库操作,如数据备份、数据清理、报告生成等。Job界面管理工具则为这些任务提供了图形化的配置和管理界面,...

    oracle定时任务.txt

    综上所述,Oracle提供了两种方式来实现定时任务——`DBMS_JOB`和`DBMS_SCHEDULER`。对于简单的定时任务,`DBMS_JOB`就足够了;而对于更复杂的需求,建议使用功能更为强大的`DBMS_SCHEDULER`。无论是哪种方式,都允许...

    ORACLE如何停止一个JOB

    - **`user_jobs`**: 包含登录用户的全部JOB信息,便于用户管理自己的任务。 - **`dba_jobs_running`**: 显示当前正在运行的JOB详情,包括SID(会话标识)和JOB ID。 - **`v$process`** 和 **`v$session`**: 这两个...

    oracle job调度存储过程 触发器 定时更新数据库

    在Oracle数据库系统中,"Job"是用于执行定时任务的重要工具,它允许用户安排数据库作业在特定的时间点或按照特定的间隔自动运行。这在管理大量数据和维护数据库的日常运营中非常有用。"存储过程"是预编译的SQL和PL/...

    Oracle定时执行存储过程

    oracle 是一个功能强大的关系型数据库管理系统,可以执行各种复杂的任务,其中包括定时执行存储过程。定时执行存储过程可以让 oracle 自动执行某些操作,而不需要人工干预。下面我们将详细讲解 oracle 中的定时执行...

    oracle JOB常见的执行时间定义

    oracle JOB常见的执行时间, 在初学者定义JOB时,对于执行时间往往不知道如何设置. 该文档列举了常见的定义方式.可以由此进行扩展.

    oracle 定时任务,使用存储过程更新数据

    Oracle数据库系统提供了强大的定时任务管理功能,这在企业级应用中极为重要,因为它们能够按照预设的时间间隔执行特定的任务,比如数据更新、备份、报表生成等。在本主题中,我们将深入探讨如何利用Oracle的存储过程...

    oracle 定时任务

    Oracle定时任务,也被称为Oracle调度(Oracle Scheduler),是Oracle数据库系统中的一个重要组件,用于安排数据库内的作业自动执行。这些作业可以包括数据备份、清理过期记录、运行统计分析等日常维护任务。Oracle ...

Global site tag (gtag.js) - Google Analytics