`

一个简单的Oracle任务

阅读更多

http://www.cnblogs.com/tohen/archive/2008/11/17/1335186.html

 

 

一、在PLSQL中创建表:

<!-- <br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->create   table  HWQY.TEST(CARNO  VARCHAR2 ( 30 ),CARINFOID  NUMBER )

 

 

二、在PLSQL中创建存储过程:

<!-- <br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->create   or   replace   procedure  pro_test
AS
carinfo_id 
number ;
BEGIN
select  s_CarInfoID.nextval  into  carinfo_id  from  dual;
insert   into  test(test.carno,test.carinfoid)  values (carinfo_id, ' 123 ' );
commit ;
end  pro_test;

 

 

三、在SQL命令窗口中启动任务:
在SQL>后执行:

<!-- <br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->VARIABLE jobno  number ;
begin
DBMS_JOB.SUBMIT(:jobno,
' pro_test; ' ,SYSDATE, ' sysdate+1/24/12 ' );
commit ;
end ;
/

 

 

四、跟踪任务的情况(查看任务队列):

<!-- <br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->SQL >    select  job,next_date,next_sec,failures,broken  from  user_jobs;

       JOB NEXT_DATE   NEXT_SEC           FAILURES BROKEN
-- -------- ----------- ---------------- ---------- ------
          1   2008 - 2 - 22  ? 01 : 00 : 00                    0  N


说明有一个任务存在了。
执行 select * from test t 查看定时任务的结果。可以看出定时任务是正常执行了的。

 

五、停止已经启动的定时任务:

先执行 select job,next_date,next_sec,failures,broken from user_jobs; 以查看定时任务的job号。
在SQL>中执行下面的语句停止一个已经启动的定时任务:

<!-- <br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->begin
 dbms_job.remove(
1 );
commit ;
end ;
/


表示停止job为1的任务。
执行后显示如下:PL/SQL procedure successfully completed

 

六、查看进程数:

<!-- <br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->show parameter job_queue_processes;
-- 必须>0,否则执行下面的命令修改:
alter  system  set  job_queue_processes = 5 ;

 

 

七、再创建一个任务(每5分钟执行一次):

<!-- <br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->variable jobno  number ;
begin
dbms_job.submit(:jobno, 
' pro_test; ' ,sysdate, ' sysdate+1/24/12 ' );
commit ;
end ;
 
/

 

建立一个定时任务后,在PLSQL中查看JOB,它的 sql语句类似的是如下:

<!-- <br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->begin
sys.dbms_job.submit(job 
=>  :jobno,
what 
=>   ' pro_test; ' ,
next_date 
=>  to_date( ' 21-02-2008 17:37:26 ' ' dd-mm-yyyy hh24:mi:ss ' ),
interval 
=>   ' sysdate+1/24/12 ' );
commit ;
end ;
/

 

所以,创建一个任务的完整的格式是:

<!-- <br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->variable jobno  number ;
begin
sys.dbms_job.submit(job 
=>  :jobno,
what 
=>   ' pro_test; ' ,
next_date 
=>  to_date( ' 21-02-2008 17:37:26 ' ' dd-mm-yyyy hh24:mi:ss ' ),
interval 
=>   ' sysdate+1/24/12 ' );
commit ;
end ;
/
-- 系统会自动分配一个任务号jobno。

 

 

八、 执行结果:

<!-- <br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->select  job,next_date,next_sec,failures,broken  from  user_jobs;

JOB NEXT_DATE NEXT_SEC FAILURES BROKEN
1   1   2008 - 2 - 22  AM  01 : 00 : 00   01 : 00 : 00   0  N
2   2   2008 - 2 - 21  PM  05 : 42 : 45   17 : 42 : 45   0  N
3   3   2008 - 2 - 21  PM  05 : 42 : 45   17 : 42 : 45   0  N

 

分享到:
评论

相关推荐

    oracle 定时执行计划任务

    Oracle 在10g 版本以前,计划任务用的是DBMS_JOB 包,10g 版本引入DBMS_SCHEDULER 来替代先前的DBMS_JOB,在功能方面,它比DBMS_JOB 提供了更强大的功能和更灵活的机制 管理,但DBMS_JOB 包的使用相对比较简单,也基本...

    一个简单易用的Oracle数据库备份脚本

    在为客户维护系统过程中,数据库的备份是必须要做的,这个备份脚本比较简单,可在任何一台装有Oracle客户端的机器上使用。要设为自动备份,可使用administrotor帐户创建计划任务(在控制面板中)。需要注意...

    Oracle数据库学习指南

    39.在Internet上运作公司是一项艰苦的任务--关键任务 40.在oracle中限制返回结果集的大小 41.在远端如何建立standby数据库 42.怎样分析你的SQL语句的效率 43.自动备份Oracle数据库 44.总结SQL语句中的...

    Oracle SQL Develop简介

    这就提供了一个跨平台的统一界面。SQL Developer 的到数据库的默认连接使用的是瘦 jdbc 驱动程序。默认使用 JDBC 瘦驱动程序意味着无需安装 Oracle 客户端,从而将配置和占用空间大小降至最低。SQL Developer 的安装...

    C#版Oracle数据库通用操作类

    C#版Oracle数据库通用操作类,包含了基础连接、执行基础语句、返回参数执行、dataset分页执行等简单oracle命令执行及哈稀表自动插入数据库等高级任务执行等。

    Oracle 11g数据库详细安装文档(附图)

    无论是UNIX还是Windows 2003/XP/Vista,都可以通过使用Oracle Universal Installer,以标准化的方式来完成安装任务。 Oracle 11g提供两种安装方法:基本安装和高级安装。基本安装比较简单,配置参数较少;高级安装...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    他认为对于SQL的学习是永无止境的,相信每一个查询Oracle数据库的人都需要精通SQL语言,才能写出高效的查询。他参与本书的编写就是为了帮助别人实现这一目标。 目录 封面 -11 封底 -10 扉页 -9 版权 -8 版权声明 -7...

    Oracle商务手册易燕海

    它可以在最高容量为四个处理器的单台服务器上、或者在一个支持最多四个处理器的环境中的集群上使用。 3. Oracle数据库11g企业版(Oracle Database 11g Enterprise Edition )为关键任务的应用程序(如大业务量的在线...

    Oracle数据库管理员技术指南

    指定一个查询 3.4.4 导出/导入预计算优化程序统计 数据 3.4.5 可移动表空间 3.5 回顾 第4章 设计高可用性数据库 4.1 如何发现和保护“致命的弱点” 4.2 复用数据库控制文件 4.3 在硬件级上镜像控制文件 ...

    Ansible-oracle-java.zip

    Ansible-oracle-java.zip,在Debian和基于Web的基础上安装Oracle 8/11的角色,ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。

    oracle创建job

    oracle中创建job实现数据库的定期任务,可以是定期执行存储过程或者简单的sql语句

    xxl-job-admin-oracle.zip

    xxl-job-admin-oracle,基于oracle数据库的一个任务调度平台。开发迅速、学习简单、轻量级、易扩展,xxl-job-admin 2.3.0版本对应的oracle数据库版本

    Oracle Database 11g初学者指南--详细书签版

    3.1.5 定义一个位置 50 3.2 专用和共享服务器体系结构之间的差别 51 3.2.1 专用服务器 51 3.2.2 共享服务器 52 3.2.3 设置分派进程 53 3.2.4 监视共享服务器的视图 54 3.3 定义连接 55 3.3.1 连接描述符 55 ...

    Oracle_Database_11g完全参考手册.part3/3

    第13章 当一个查询依赖于另一个查询时 13.1 高级子查询 13.1.1 相关子查询 13.1.2 并列的逻辑测试 13.1.3 EXISTS及其相关子查询的使用 13.2 外部连接 13.2.1 Oracle9i以前版本中的外部连接的语法 13.2.2 现在的外部...

    剑破冰山 Oracle开发艺术.part2.rar

     一个好的Oracle开发人员不仅要知道一些基本语法和常见用法,还需要知道何时用、如何用、怎么避免相关误区、写出高质量的代码。本书面向有Oracle使用经验或有其他数据库使用经验的人,重点讲述利用好Oracle的特色...

    Oracle_Database_11g完全参考手册.part2/3

    第13章 当一个查询依赖于另一个查询时 13.1 高级子查询 13.1.1 相关子查询 13.1.2 并列的逻辑测试 13.1.3 EXISTS及其相关子查询的使用 13.2 外部连接 13.2.1 Oracle9i以前版本中的外部连接的语法 13.2.2 现在的外部...

    Oracle数据库用户数据备份脚本

    通过该工具,简单配置Oracle连接参数和需要备份的用户列表,配合系统的任务计划,可以轻松实现数据的自动备份

Global site tag (gtag.js) - Google Analytics