首页 文章

oracle dbms_scheduler并行运行多个过程

提问于
浏览
1

我试图找出oracle的DBMS_SCHEDULER(Oracle 11g)并需要帮助设置以下内容:

我有一个过程调用其他过程的列表,如下所示:

CREATE OR REPLACE
PROCEDURE RUN_JOBS AS
BEGIN
  MYUSER.MYPROCEDURE1();
  MYUSER.MYPROCEDURE2();
  MYUSER.MYPROCEDURE3();
  MYUSER.MYPROCEDURE4();
  MYUSER.MYPROCEDURE5();
END;
/

在完成MYPROCEDURE2()之后,我想使用DBMS_SCHEDULER在 parallel 中运行MYPROCEDURE3(),MYPROCEDURE4(),MYPROCEDURE5() .

有人能告诉我一个如何设置它的例子吗?

3 回答

  • 1

    您可以在DBMS_SCHEDULER包下引用链:http://docs.oracle.com/cd/B28359_01/server.111/b28310/scheduse009.htm

    您也可以通过Oracle Enterprise Manager实现相同目的,但我现在找不到任何文档链接 .

  • 1

    您可以使用DBMS_SCHEDULER执行此操作 .

    CREATE OR REPLACE PROCEDURE RUN_JOBS
    AS
    v_JobNum NUMBER := 1;
    BEGIN
     BEGIN
      DBMS_JOB.SUBMIT(v_JobNum,'MYUSER.MYPROCEDURE1;',sysdate,'sysdate +1');
      DBMS_JOB.SUBMIT(v_JobNum,'MYUSER.MYPROCEDURE2;',sysdate,'sysdate +1');
      DBMS_JOB.SUBMIT(v_JobNum,'MYUSER.MYPROCEDURE3;',sysdate,'sysdate +1');
      DBMS_JOB.SUBMIT(v_JobNum,'MYUSER.MYPROCEDURE4;',sysdate,'sysdate +1');
      COMMIT;
     END;
    END RUN_JOBS; 
    /
    

    这将提交作业并立即运行它们 .

  • 0

    为每个过程创建三个不同的作业,并同时安排它们 .

相关问题