在Oracle Express edition 11g中每天运行的Oracle作业

在Oracle Express edition 11g中每天运行的Oracle作业,oracle,stored-procedures,oracle11g,jobs,Oracle,Stored Procedures,Oracle11g,Jobs,!![在此处输入图像描述][1] 我刚刚更新了数据库的新版本。我以前使用过Oracle数据库版本10。现在我安装了Oracle 11g Express edition 我有三份DBMS_的工作 我将其编程为每天在特定时间运行它们。每天01:00时,存储过程都在定期运行 begin sys.dbms_job.submit(job => :job, what => 'BEGIN CALL_MY_SP; END;', next_date => to_date('24-09

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

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

我有三份DBMS_的工作

我将其编程为每天在特定时间运行它们。每天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数据库正在运行相同的作业。但此作业是手动执行的

我如何每天定期自动运行?但是如果我没有呢

你的工作

要手动运行,请尝试:

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_调度器_作业_运行_详细信息)来验证这一点,并可以通过dba_调度器_作业查看基本属性

也许我误解了您的问题,但您的帖子说:“但我正在尝试手动执行。如何在oracle 11g express edition上运行此作业?”我想在常规basisbtw@ant上自动运行,对于计划的作业,应该使用dbms_调度程序。不过,也许我误解了你的意思question@ant到底是什么错误?您是否创建了类似我的示例的计划程序作业?是的。。。在超过你的职位后,我放弃了我的工作。我只更改这个“dbms_锁。睡眠(10);”称您为我的SP。