1、确定job_queue_processes参数大于0(取值范围为0-100),该参数决定着总共可以创建的JOB进程数:
show parameter job_queue_process;
alter system set job_queue_processes = 10
1.1、Oracle_job进程包括协调进程(主进程)和奴隶进程(子进程);
1.2、当job_queue_processes = 0,任何方式创建的job都不会运行;
1.3、当job_queue_processes > 1,执行job至少一个为协调进程,且其总数不超过job_queue_processes的值
1.4、job_queue_processes参数值由DBMS_JOB与DBMS_SCHEDULER共享
2、创建job:
declare row_to_column_job number;--row_to_column_job即JobName
begin
dbms_job_submit(
row_to_column_job,
'tbA_to_tbB', --要执行的存储过程名或函数名,如果有多个,用;隔开
sysdate,
'sysdate+5/1440'--执行频率
);
end;
3、查询job:
select job as jobId, broken, what, interval from user_jobs;
4、启动job:
begin
dbms_job.run(jobId);--jobId即上述查询出来的jobId
end;
5、删除job:
begin
dbms_job.remove(jobId);--jobId即上述查询出来的jobId
end;