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

原创
2016-06-07 17:00:03 1207浏览

ORACLE 中的PL/SQL自动运行的特性:在UNIXDE的corn 实用程序自动调度任务运行在ORACLE中的PL/SQL中用DBMS_JOB包允许你调度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;

linux

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。