Oracle 作业每天在 Oracle Express 版本 11g 中运行



![在此处输入图像描述][1]

我刚刚更新了新版本的数据库。我以前使用过 Oracle 数据库 versioyon 10。现在我安装了Oracle 11g Express版。

我在DBMS_jobs上做了三份工作。

我将其编程为每天在特定时间运行它们。 每天 01:00 在存储过程中定期运行。

begin
  sys.dbms_job.submit(job => :job,
  what => 'BEGIN CALL_MY_SP; END;',
  next_date => to_date('24-09-2013 01:00:00', 'dd-mm-yyyy hh24:mi:ss'),
   interval => 'TRUNC(SYSDATE + 1) + 1/24');
  commit;
end;

虽然同样的作业要运行新的Oracle数据库。但此作业是手动执行的。

如何每天定期自动运行?但是如果我不这样做呢!

https://i.stack.imgur.com/rePVq.png

你的工作

http://l1309.hizliresim.com/1f/s/sz6pg.png

要手动运行,请尝试:

exec dbms_scheduler.run_job('MY_JOB',false);

要手动停止,请使用:

exec dbms_scheduler.stop_job('MY_JOB',false);

如果你的问题是如何在 Oracle 中调度作业,这是一个很大的话题(参见 文档 ),但一个简单的例子是:

BEGIN
  dbms_scheduler.create_job(
    job_name=>'JOB_TEST2',
    job_type=>'PLSQL_BLOCK',
    job_action=>'BEGIN
    dbms_lock.sleep(10);
    END;',
    start_date=>systimestamp,
    repeat_interval=>'FREQ=MINUTELY;INTERVAL=1',
    number_of_arguments=>0,
    enabled=>TRUE,
    comments=>'Job duration is 10 seconds, launches every minute'
  );
END;

由于它是作为启用创建的,因此它将自动开始运行。 您可以查看日志 (dba_scheduler_job_run_details) 进行验证,并可以通过dba_scheduler_jobs查看基本属性

最新更新