【问题标题】:Oracle Scheduled JobsOracle 计划作业
【发布时间】:2010-09-19 10:31:49
【问题描述】:

我需要创建许多类似的 oracle 作业,我想以编程方式完成。

Oracle 将作业库(模式/表)存储在哪里?

(是的,我知道我可能会用剪刀跑步)

【问题讨论】:

  • 你是不是把两个想法混为一谈了。以编程方式添加作业和 Oracle 用来存储要运行的内容的表。我认为您想通过插入以编程方式添加作业,而不是调用包。是这样吗?否则这实际上是两个问题:我如何添加以及它们去哪里。对吗?

标签: sql oracle plsql


【解决方案1】:

对于DBMS_JOBS,您可以使用...

dbms_job.submit(
JOB       OUT BINARY_INTEGER,
WHAT      IN  VARCHAR2,
NEXT_DATE IN  DATE           DEFAULT SYSDATE,
INTERVAL  IN  VARCHAR2       DEFAULT 'NULL',
NO_PARSE  IN  BOOLEAN        DEFAULT FALSE,
INSTANCE  IN  BINARY_INTEGER DEFAULT 0,
FORCE     IN  BOOLEAN        DEFAULT FALSE);

对于较新的 DBMS_SCHEDULER 工作,您可以使用...

dbms_scheduler.create_job(
job_name            IN VARCHAR2,
job_type            IN VARCHAR2,
job_action          IN VARCHAR2,
number_of_arguments IN PLS_INTEGER DEFAULT 0,
start_date          IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
repeat_interval     IN VARCHAR2    DEFAULT NULL,
end_date            IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
job_class           IN VARCHAR2    DEFAULT 'DEFAULT_JOB_CLASS',
enabled             IN BOOLEAN     DEFAULT FALSE,
auto_drop           IN BOOLEAN     DEFAULT TRUE,
comments            IN VARCHAR2    DEFAULT NULL);

我还没有找到使用 SQL 添加网格控制作业的方法。如果这里没有显示答案,我可以将其作为一个单独的问题提出。

【讨论】:

    【解决方案2】:

    查看次数:USER_JOBS、DBA_JOBS 或 ALL_JOBS

    【讨论】:

      猜你喜欢
      • 2021-01-08
      • 2019-07-22
      • 1970-01-01
      • 1970-01-01
      • 2017-06-07
      • 1970-01-01
      • 1970-01-01
      • 2021-12-05
      相关资源
      最近更新 更多