我希望oracle指定的时间周期性的完成某工作,怎么运用,怎么被找到相关的功能

解决方案 »

  1.   

    DBMS_JOB的Submit()过程:
    PROCEDURE Submit ( job       OUT binary_ineger,
                       What      IN  varchar2,
                       next_date IN  date,
                       interval  IN  varchar2,
                       no_parse  IN  booean:=FALSE)
    job       参数是由Submit()过程返回的binary_ineger。这个值用来唯一标识一个工作。
    What      参数是将被执行的PL/SQL代码块。
    next_date 参数指识何时将运行这个工作。
    interval  参数何时这个工作将被重执行。
    no_parse  参数指示此工作在提交时或执行时是否应进行语法分析--TRUE
    指示此PL/SQL代码在它第一次执行时应进行语法分析,
    而FALSE指示本PL/SQL代码应立即进行语法分析。 给你我的一个JOB的例子:
    VARIABLE source_job1 number; 
    BEGIN 
      DBMS_JOB.SUBMIT(:source_job1,'ctx_ddl.sync_index(''idx_cms_content_source'');', 
           SYSDATE, 'SYSDATE + 1'); 
      commit; 
    END;
    /
    这个JOB定义了每天同步一次'idx_cms_content_source'索引(执行一次'ctx_ddl.sync_index(''idx_cms_content_source'');'语句)。
      

  2.   

    问题已经解决了
    不过我用 pl/sql dev 创建的JOB 在 OEM 怎么看不到阿,到哪里找啊
      

  3.   

    select * from user_job
     查询正在执行的job
    select * from dba_jobs_running
      

  4.   

    to cenlmmx(学海无涯苦作舟)有没有图形化的查询,类似于表,序列,触发器等