时间:2021-07-01 10:21:17 帮助过:14人阅读
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;