,,目前甲骨文数据库设置定时任务工作调度一般有两种方式,分别是<强> dbms_scheduler创建工作调度强>和<强> dbms_job创建工作调度强> .dbms_scheduler创建工作调度是在10 g以后才有的,甲骨文公司为了用来替换dbms_job而
——查询 ,select *,得到dba_scheduler_jobs; ——创建工作 ,开始 ,dbms_scheduler.create_job ( ,job_name =祝辞job_myjob,名——工作 ,job_type =祝辞STORED_PROCEDURE,——工作类型 ,job_action =祝辞proc_myproc,,,存储过程名 ,start_date =祝辞sysdate,开始执行时间 ,repeat_interval =祝辞的频率=每天;BYHOUR=9; BYMINUTE=30; BYSECOND=0 ',,,,下次执行时间,按天,每天09:30:00执行存储过程proc_myproc ,comments =祝辞的测试工作”,——注释 ,auto_drop=祝辞false ,——工作禁用后是否自动删除 ,); ,结束; ——运行 开始 dbms_scheduler.run_job (“job_myjob”); 结束; ——启用 开始 dbms_scheduler.enable (“job_myjob”); 结束; ——禁用 开始 dbms_scheduler.disable (“job_myjob”); 结束; ——刪除 开始 ,,dbms_scheduler.drop_job (job_name =祝辞,job_myjob, force =祝辞,TRUE); 结束才能;
2。<强> dbms_job创建工作调度。强>
——查询 select *,得到dba_jobs; select *,得到all_jobs; select *,得到user_jobs; select *,得到dba_jobs_running; ——,创建工作 declare ,,,,, ,,job_id 数量;——声明一个出变量 开始 ,,,,,按天,每天09:30:00执行这个存储过程proc_myproc,并且输出一个job_id变量,其值为该工作的ID号 ,,dbms_job.submit ( ,,,,,,,,job_id——参数是输出参数,由()提交过程返回的binary_ineger,这个值用来唯一标识一个工作,一般定义一个变量接收,可以去user_jobs视图查询工作值只 ,,,,,,proc_myproc;,,,,参数是将被执行的PL/SQL代码块,存储过程名称等只, ,,,,,,,,sysdate——参数指识何时将运行这个工作又是; ,,,,,,”TRUNC (SYSDATE + 1) +(9 * 60 + 30)/(24 * 60)的,,,,,参数何时这个工作将被重执行。 ,,,,, ,,,,把工作的ID号打印出来 ,,dbms_output.put_line (job_id); 结束; ——,运行工作 开始 ,,,,,这7个为job_id,请换为你自己对应的工作号 ,,dbms_job.run (7); 结束,, ——,启用工作 开始 ,,dbms_job.broken(7,假); 结束,, ——,禁用工作 开始 ,,dbms_job.broken(7,真的); 结束,, ——,删除一个工作 开始 ,,dbms_job.remove (7); 结束;
,,,,总结:推荐大家使用dbms_scheduler来创建工作调度.job调度可以定时执行PL/SQL代码块,存储过程等。