【发布时间】:2010-09-19 10:31:49
【问题描述】:
我需要创建许多类似的 oracle 作业,我想以编程方式完成。
Oracle 将作业库(模式/表)存储在哪里?
(是的,我知道我可能会用剪刀跑步)
【问题讨论】:
-
你是不是把两个想法混为一谈了。以编程方式添加作业和 Oracle 用来存储要运行的内容的表。我认为您想通过插入以编程方式添加作业,而不是调用包。是这样吗?否则这实际上是两个问题:我如何添加以及它们去哪里。对吗?
我需要创建许多类似的 oracle 作业,我想以编程方式完成。
Oracle 将作业库(模式/表)存储在哪里?
(是的,我知道我可能会用剪刀跑步)
【问题讨论】:
对于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 添加网格控制作业的方法。如果这里没有显示答案,我可以将其作为一个单独的问题提出。
【讨论】:
查看次数:USER_JOBS、DBA_JOBS 或 ALL_JOBS
【讨论】: