WEB开发网
开发学院数据库Oracle Oracle中如何使用JOB 阅读

Oracle中如何使用JOB

 2009-01-08 13:10:00 来源:WEB开发网   
核心提示: 9、User_Export()过程返回一个命令,此命令用来安排一个存在的工作以便此工作能重新提交,Oracle中如何使用JOB(4),此程序有两个参数:job与my_call,PROCEDURE User_Export(jobIN binary_ineger,my_callIN OUT v

9、User_Export()过程返回一个命令,此命令用来安排一个存在的工作以便此工作能重新提交。

此程序有两个参数:job与my_call。

PROCEDURE User_Export(job    IN binary_ineger,

my_call  IN OUT varchar2)

job参数标识一个安排了的工作。my_call参数包含在它的当前状态重新提交此工作所需要的正文。

10、What()过程应许在工作执行时重新设置此正在运行的命令。这个过程接收两个参数:job与what。

PROCEDURE What (job IN binary_ineger,

What IN OUT varchar2)

job参数标识一个存在的工作。what参数指示将被执行的新的PL/SQL代码。

三、查看相关job信息

1、相关视图

dba_jobs

all_jobs

user_jobs

dba_jobs_running 包含正在运行job相关信息

2、查看相关信息

  SQL>SELECT JOB, NEXT_DATE, NEXT_SEC, FAILURES, BROKEN
  SQL>FROM DBA_JOBS;
  JOB NEXT_DATE NEXT_SEC FAILURES B
  ------- --------- -------- -------- -
  9125 01-JUN-01 00:00:00 4 N
  14144 24-OCT-01 16:35:35 0 N
  9127 01-JUN-01 00:00:00 16 Y
  3 rows selected.
  正在运行的JOB相关信息
  SELECT SID, r.JOB, LOG_USER, r.THIS_DATE, r.THIS_SEC
  FROM DBA_JOBS_RUNNING r, DBA_JOBS j
  WHERE r.JOB = j.JOB;
  SID JOB LOG_USER THIS_DATE THIS_SEC
  ----- ---------- ------------- --------- --------
  12 14144 HR 24-OCT-94 17:21:24
  25 8536 QS 24-OCT-94 16:45:12
  2 rows selected. 
  JOB QUEUE LOCK相关信息
  SELECT SID, TYPE, ID1, ID2
  FROM V$LOCK
  WHERE TYPE = 'JQ';
  SID TY ID1 ID2
  --------- -- --------- ---------
  12 JQ 0 14144
  1 row selected.

四、简单例子

一个简单例子:

创建测试表

SQL> create table TEST(a date);

表已创建。

创建一个自定义过程

  SQL> create or replace procedure MYPROC as
   2 begin
   3 insert into TEST values(sysdate);
   4 end;
   5 /

过程已创建。

创建JOB

  SQL> variable job1 number;
  SQL>
  SQL> begin
   2 dbms_job.submit(:job1,'MYPROC;',sysdate,'sysdate+1/1440');  --每天1440分钟,即一分钟运行test过程一次
   3 end;
   4 /

PL/SQL 过程已成功完成。

运行JOB

  SQL> begin
   2 dbms_job.run(:job1);
   3 end;
   4 /

PL/SQL 过程已成功完成。

SQL> select to_char(a,'yyyy/mm/dd hh24:mi:ss') 时间 from TEST;

时间

-------------------

2001/01/07 23:51:21

2001/01/07 23:52:22

2001/01/07 23:53:24

删除JOB

  SQL> begin
   2 dbms_job.remove(:job1);
   3 end;
   4 /
  

PL/SQL 过程已成功完成.

上一页  1 2 3 4 

Tags:Oracle 如何 使用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接