Oracle 中的PL/SQL自动运行设定


Oracle 中的PL/SQL自动运行的特性:

在UNIXDE的corn 实用程序自动调度任务运行

在ORACLE中的PL/SQL中用DBMS_JOB包允许你调度PL/SQL语句块,使它在指定的时间自动运行。该语句将被Oracle的某后台进程处理。为拉便于运行,需要设置二个init.ora参数:

 1, JOB_QUEUE_PROCESS 指定启动的后台处理数。如果是0或没有设置,将没有后台处理进入作业,它们就不会运行。
 2,  JOB_QUEUE_INTERVAL以秒为单位指定每一个过程在检查新的作业前等待的时间。在JOB_QUEUE_INTERVAL所代表的
秒数内,一个作业最多只能执行一次。
 
  ----Available online as part of DBMS_JOB.sql
   create sequene temp_seq
   start with 1
   increment by 1;
 
   CREATE OR RRPLACE PROCEDURE TempInsert AS
   BEGIN
      INSERT INTO temp_table (num_col,char_col)
        value (temp_seq.nextval,to_char(sysdate,'dd-mon-yyyy hh24:mi:ss));
     COMMIT
   END TempInsert;
下列SQL*Plus脚本,我们可以使TempInsert每90秒运行一次;
 ------Available online as part of DBMS_JOB.SQL
  SQL> VARIABLE V_JobNum NUMBER
  SQL> BEGIN
     2 DBMS_JOB.SUBMIT(:V_JOBNUM,'TempInsert;',SYSDATE,'SYSDATE+(90/24*60*60)');
     3 COMMIT;
     4 END;

相关内容