`
高级java工程师
  • 浏览: 395953 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle设置定时任务job调度执行存储过程或pl/sql代码块

阅读更多
目前oracle数据库设置定时任务job调度一般有两种方式,分别是dbms_scheduler创建job调度和dbms_job创建job调度。dbms_scheduler创建job调度是在10g以后才有的,甲骨文公司为了用来替换dbms_job而提供了更强大的功能与更灵活的机制/管理。下面介绍这两种方式。

1. dbms_scheduler创建job调度。


--查询

 select * from dba_scheduler_jobs;

--创建job

 begin

 dbms_scheduler.create_job (

 job_name => 'job_myjob', --job名

 job_type => 'STORED_PROCEDURE',--job类型

 job_action => 'proc_myproc', --存储过程名

 start_date => sysdate,--开始执行时间

 repeat_interval => 'FREQ=DAILY;BYHOUR=9;BYMINUTE=30;BYSECOND=0', -- 下次执行时间,按天,每天09:30:00执行存储过程proc_myproc

 comments => '测试JOB',--注释

 auto_drop=>false  --job禁用后是否自动删除

 );

 end;

--运行

begin

dbms_scheduler.run_job('job_myjob');

end;

--启用

begin

dbms_scheduler.enable('job_myjob');

end;

--禁用

begin

dbms_scheduler.disable('job_myjob');

end;

--刪除

begin

   dbms_scheduler.drop_job(job_name => 'job_myjob',force => TRUE);

  end; 




2.dbms_job创建job调度。


--查询

select * from dba_jobs;

select * from all_jobs;

select * from user_jobs;

select * from dba_jobs_running;

-- 创建job

declare      

   job_id number;--声明一个out变量

begin

    -- 按天,每天09:30:00执行这个存储过程proc_myproc,并且输出一个job_id变量,其值为该job的ID号

   dbms_job.submit(

       job_id, --参数是输出参数,由submit()过程返回的binary_ineger,这个值用来唯一标识一个工作。一般定义一个变量接收,可以去user_jobs视图查询job值。 

       'proc_myproc;',  --参数是将被执行的PL/SQL代码块,存储过程名称等。  

       sysdate, --参数指识何时将运行这个工作。 

       'TRUNC(SYSDATE+1)+(9*60+30)/(24*60)'    --参数何时这个工作将被重执行。

    ); 

   -- 把job的ID号打印出来

   dbms_output.put_line(job_id);

end;

-- 运行job

begin

    -- 这个7为job_id,请换为你自己对应的job号

   dbms_job.run(7);

end; 

-- 启用job

begin

   dbms_job.broken(7,false);

end; 

-- 禁用job

begin

   dbms_job.broken(7,true);

end; 

-- 删除一个job

begin

   dbms_job.remove(7);

end; 


分享到:
评论

相关推荐

    Oracle_PLSQL语言基础

    PL/SQL代码可以使用任何ASCII文本编辑器编写,所以对任何ORACLE能够运行的操作系统都是非常便利的  . 对于SQL,ORACLE必须在同一时间处理每一条SQL语句,在网络环境下这就意味作每一个独立的调用都必须被oracle...

    使用PL/SQL Developer图形界面轻松实现oracle定期计划任务

    使用PL/SQL Developer图形界面轻松实现oracle定期计划任务。文字加截图详细说明。案例:每5秒钟自动清空Book_Temp表中数据。

    Oracle PL/SQL语言初级教程

    Oracle公司已经将PL/SQL整合到Oracle 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本教程将以循速渐进的方式讲述PL/SQL基础语法,结构和组件、以及如何设计并执行一个PL/SQL程序,...

    Oracle PL/SQL程序设计(第5版)(套装上下册)

    《Oracle PL/SQL程序设计(第5版)(套装上下册)》基于Oracle数据库11g,从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细系统地讨论了PL/SQL以及如何...

    Oracle PL/SQL实例精解 数据库建立代码

    Oracle PL/SQL实例精解 student模式 数据库建立代码 包括数据库的建立、索引等。样本数据的插入。

    Oracle PL SQL程序设计 上 第五版(代码示例)

    《oracle pl/sql程序设计(第5版)》基于oracle数据库11g,从pl/sql编程、pl/sql程序结构、pl/sql程序数据、pl/sql中的sql、pl/sql应用构建、高级pl/sql主题6个方面详细系统地讨论了pl/sql以及如何有效地使用它。...

    oracle10g_pl/sql

    oracle10g pl/sql完备教程,供初学者学习与开发者参考

    Oracle PL/SQL实例编程(PL/SQL经典书籍)

    Oracle PL/SQL实例编程 Oracle PL/SQL实例编程 Oracle PL/SQL实例编程

    Oracle Database 12c PL/SQL开发指南 实例源代码

    Oracle Database 12c PL/SQL开发指南(第7版)书中示例的PL/SQL源代码

    精通Oracle 10g SQL和PL/SQL

     本书是专门为oracle开发人员而提供的编程指南 通过学习本书 读者不仅可以掌握编写sql语句和pl/sql块的基础知识 而且还可以掌握sql高级特征 正则表达式 flashback查询 merge语句 sql:1999连接 和pl/sql高级特征 ...

    PL/SQL Developer9.06

    PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。如今,有越来越多的商业逻辑和应用...PL/SQL Developer侧重于易用性、代码品质和生产力,充分发挥Oracle应用程序开发过程中的主要优势。

    oracle 9i pl/sql程序设计笔记

    oracle 9i pl/sql程序设计笔记。

    Oracle PL/SQL programming(5th Edition)

    Topics covered: How to use Oracle PL/SQL in all its manifestations through Oracle9i. Fundamentals of program structure (loops, cases, exceptions, etc.) and execution get attention, as do data types, ...

    Oracle PL/SQL programming

    Considered the best Oracle PL/SQL programming guide by the Oracle community, this definitive guide is precisely what you need to make the most of Oracle’s powerful procedural language. The sixth ...

    PL/SQL Developer 客户端

    在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算。PL/SQL 只有 Oracle 数据库有。 MySQL 目前不支持 ...

    Oracle PL/SQL程序设计(第5版)(下册)第二部分

    《Oracle PL/SQL程序设计(第5版)》基于Oracle数据库11g,从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细系统地讨论了PL/SQL以及如何有效地使用它。...

    PL/SQL免安装版

    在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算。PL/SQL免安装版,点击即用,非常方便!

    oracle PL/SQL测试题目和详细答案

    pl/sql存储过程,函数,游标,以及存储过程中的基础知识,绝对值得你收藏的经典题目,让你的pl/sql得到最大的锻炼。让你的数据库逻辑更加灵活。

    PL/SQL 程序设计

    PL/SQL 程序设计 本章主要重点:  PL/SQL概述  PL/SQL块结构  PL/SQL流程  运算符和表达式  游标  异常处理  数据库存储过程和函数  包  触发器

    PL/SQL User's Guide and Reference (官方CHM)

    PL/SQL, Oracle's procedural extension of SQL, is an advanced fourth-generation programming language (4GL). It offers modern features such as data encapsulation, overloading, collection types, ...

Global site tag (gtag.js) - Google Analytics