2008-10-27 85 views
3

我有很多类似的oracle作业需要创建,我想以编程方式进行。Oracle预定作业

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

(是的,我知道我可能会用剪刀运行)

+0

你是在混淆两个想法。作业的程序化添加以及Oracle用来存储要运行的表格。 我想你想以编程方式通过插入添加作业,而不是调用包。是这样吗? 否则这实际上是两个问题:我如何添加以及它们在哪里去。对? – 2008-10-27 18:27:18

回答

8

对于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添加网格控制作业。如果答案没有出现在这里,我可能会问这是一个单独的问题。

0

浏览:USER_JOBS,DBA_JOBS或ALL_JOBS