-- 创建 测试表 tbl_date01(tdate)
create table tbl_date01(tdate date);
commit;
-- 创建一个过程 pro_tdate01
create or replace procedure pro_tdate01 as
begin
insert into tbl_date01 values(sysdate);
commit;
end;
-- 创建JOB
-- variable 用于SQL/plus中创建全局变量
variable jobtdate01 number; -- 任务号码
begin
dbms_job.submit(
:jobtdate01, -- 产生任务号码
'pro_tdate01;', -- pro_tdate01过程
sysdate, -- 运行时间
'sysdate+60/(24*60*60)'); -- 每1分钟点执行过程
-- 'trunc(sysdate,'D')+25/24'); -- //每天凌晨1点执行过程
end;
-- 运行JOB jobtdate01
begin
dbms_job.run(:jobtdate01);
end;
-- 查看job任务号码
print jobtdate01; -- 这时 jobtdate01 输出值 21
-- 停止job作业 任务8
exec dbms_job.broken(21,true)
-- 启动job作业 任务8
exec dbms_job.broken(21,false)
-- 查询 tbl_date01 表数据
select to_char(tdate,'yyyy/mm/dd hh24:mi:ss') 时间 from tbl_date01 ;
-- 删除JOB
begin
dbms_job.remove(:jobtdate01);
-- dbms_job.remove(21); -- 21是job任务号码
end;
-- 显示当前访问Job进程数
show parameter job_queue_processes
-- 更改同时运行的Job进程数
alter system set job_queue_processes=20 scope=spfile;
--查询是否JOB还在Running
select * from dba_jobs_running
-- 查看当前时间
select to_char(sysdate,'yyyy/mm/dd hh24:mi:ss') 当前时间 from dual;