lsyf8 发表于 2018-9-14 09:39:46

oracle定时任务

  更改系统的会话方式为disenable restricted,为snp的启动创建条件
  alter system disenable restricted session;
  job_queue_processes=10   (oracle10gde 默认值)
  job_queue_interval=N
  alter system set job_queue_processes=100;
  sql> select job,next_date,next_sec,broken from user_jobs;
  包含以下子过程:
  Broken()过程。
  change()过程。
  Interval()过程。
  Isubmit()过程。
  Next_Date()过程。
  Remove()过程。
  Run()过程。
  Submit()过程。
  User_Export()过程。
  What()过程。
  例子:
  create table a(a,timestamp);
  --创建存储过程
  create or replace proc_a is
  begin
  insert into a values(sysdate);
  end;
  --创建job
  SQL> variable job1 number;   --定义一个变量保存jobno,在使用时为:job1,同时what()参数在存储过程后需要有分号,别忘记,interval为字符串
  SQL> begin
  2dbms_job.submit(:job1,'test;',sysdate,'sysdate+1/1440');  --每天1440分钟,即一分钟运行test过程一次
  3end;
  4/
  运行JOB
  SQL> begin
  2dbms_job.run(:job1);
  3end;
  4/
  删除JOB
  SQL> begin
  2dbms_job.remove(:job1);
  3end;
  4/
  修改job:
  (使用包,需要在begin..end间使用)
  begin
  dbms_job.interval('sysdate+23/1440');--修改间隔时间
  end;
  begin
  dbms_job.change(jobno,'proc_a;',sysdate,'sysdate+1');--change有多个参数,可一同修改
  end;
  --------------------------------
  更多说明请参照:http://www.cnblogs.com/xclw/archive/2009/12/04/1616945.html
  oracle作业job更新next_date及执行时间的探讨说明:http://blog.csdn.net/kamus/article/details/201377

页: [1]
查看完整版本: oracle定时任务