Oracle中job的简单实例


Oracle job简单的说,就是oracle提供的一个定期执行某个存储过程或者包体的功能。

主要的使用情景
定时在后台执行相关操作:如每天晚上0点将一张表的数据保存到另一张表中,2:定时备份数据库等

一:创建测试表

  1.   SQL> create table TEST(a date);  

  表已创建。
二:创建一个自定义过程

  1. SQL> create or replace procedure MYPROC as  
  2.    2 begin  
  3.    3 insert into TEST values(sysdate);  
  4.    4 end;  
  5.    5 /  
  6.     
  7.   过程已创建。  

三:创建JOB

  1. SQL> variable job1 number;  
  2.   SQL>   
  3.   SQL> begin  
  4.    2 dbms_job.submit(:job1,'MYPROC;',sysdate,'sysdate+1/1440');  --每天1440分钟,即一分钟运行test过程一次  
  5.    3 end;  
  6.    4 /  
  7.     
  8.   PL/SQL 过程已成功完成。  

四:运行JOB

  1. SQL> begin  
  2.    2 dbms_job.run(:job1);  
  3.    3 end;  
  4.    4 /  
  5.     
  6.   PL/SQL 过程已成功完成。  

五:查询job

  1. SQL> select to_char(a,'yyyy/mm/dd hh24:mi:ss') 时间 from TEST;  
  2.     
  3.   时间  
  4.   -------------------  
  5.   2001/01/07 23:51:21  
  6.   2001/01/07 23:52:22  
  7.   2001/01/07 23:53:24  

六:删除JOB

  1. SQL> begin  
  2.    2 dbms_job.remove(:job1);  
  3.    3 end;  
  4.    4 / bitsCN_com   
  5.     
  6.   PL/SQL 过程已成功完成。  

更多Oracle相关信息见Oracle 专题页面 http://www.bkjia.com/topicnews.aspx?tid=12

相关内容