Oracle 调度程序中的作业循环
Job looping in Oracle scheduler
在 oracle 11g 中,如果我有一个作业 A,是否可以安排它每天从上午 10 点到上午 11 点重复执行。
是的,可以安排。
Oracle 作业队列
Oracle 作业队列允许在预定义的时间安排和执行 PL/SQL 个例程(作业)and/or 定期重复执行作业。 Oracle 提供了一个内置包 DBMS_JOB 来安排作业。 DBMS_JOB 包实际上是 API 到称为作业队列的 Oracle 子系统中。 DBMS_JOB 包是在安装 Oracle 数据库时创建的。
您可以获得详细信息:https://www.developer.com/db/article.php/3713896/Scheduling-Jobs-in-the-Database.htm
你可以如下操作,下面将从10A.M开始执行。到 11 A.M。每10分钟重复一次(根据您的要求更改频率)
BEGIN
DBMS_SCHEDULER.create_job (
job_name => 'JOB_NAME',
job_type => 'PLSQL_BLOCK',
job_action => 'BEGIN your_procedure_name; END;',
start_date => SYSDATE,
repeat_interval => 'FREQ=DAILY; BYHOUR=10,11; BYMINUTE=0,10;',
enabled => TRUE,
auto_drop => FALSE);
END;
/
"it should execute as much time as possible"
请记住,您在一小时内尽可能多地执行的工作不应过度
在 oracle 11g 中,如果我有一个作业 A,是否可以安排它每天从上午 10 点到上午 11 点重复执行。
是的,可以安排。
Oracle 作业队列
Oracle 作业队列允许在预定义的时间安排和执行 PL/SQL 个例程(作业)and/or 定期重复执行作业。 Oracle 提供了一个内置包 DBMS_JOB 来安排作业。 DBMS_JOB 包实际上是 API 到称为作业队列的 Oracle 子系统中。 DBMS_JOB 包是在安装 Oracle 数据库时创建的。
您可以获得详细信息:https://www.developer.com/db/article.php/3713896/Scheduling-Jobs-in-the-Database.htm
你可以如下操作,下面将从10A.M开始执行。到 11 A.M。每10分钟重复一次(根据您的要求更改频率)
BEGIN
DBMS_SCHEDULER.create_job (
job_name => 'JOB_NAME',
job_type => 'PLSQL_BLOCK',
job_action => 'BEGIN your_procedure_name; END;',
start_date => SYSDATE,
repeat_interval => 'FREQ=DAILY; BYHOUR=10,11; BYMINUTE=0,10;',
enabled => TRUE,
auto_drop => FALSE);
END;
/
"it should execute as much time as possible"
请记住,您在一小时内尽可能多地执行的工作不应过度