关于Oracle 10g的schedule job

来源:互联网 发布:大学生就业难 知乎 编辑:程序博客网 时间:2024/04/27 15:12

Schedule job即指定时间运行某一个procedure,本质上是一个object,job的属性可以随时修改。

Job 权限

grant create job to somebody;

Job 创建

begin dbms_scheduler.create_job (     job_name => 'my_job_name',     job_type => 'STORED_PROCEDURE',     job_action => 'procedure_to_call', --存储过程名     start_date => sysdate,     repeat_interval => 'FREQ=MINUTELY;interval=10',  --每隔5分钟运行一次     comments => 'schedule one job every 5 mins' );end;/

Job 查询

select job_name,job_type,job_action,start_date,repeat_interval,state,enabledfrom user_scheduler_jobs;

Job 修改job属性:修改repeat时间为5分钟每次

beginDBMS_SCHEDULER.SET_ATTRIBUTE('SYNC_UP_SCENARIO_RUN_STATUS','repeat_interval','FREQ=MINUTELY;interval=5');DBMS_SCHEDULER.ENABLE('SYNC_UP_SCENARIO_RUN_STATUS');commit;end;

Job 启用

begin    dbms_scheduler.enable('my_job_name');end;/

Job 运行

begin    dbms_scheduler.run_job('my_job_name',TRUE); -- true代表同步执行end;/

Job 删除

begin    dbms_scheduler.drop_job(job_name => 'my_job_name',force => TRUE);)end;/

参考:http://www.blogjava.net/javabloger/archive/2008/03/14/186206.html




原创粉丝点击