用DBMS_JOB让ORACLE定时执行一任务不能正常执行? 
代码:
SQL> variable n1 number;
SQL> exec dbms_job.submit(:n1,'inserta;',sysdate,'sysdate+1/1440');
SQL> submit;
SQL> exec dbms_job.run(:n1);存储过程为向A表插入时间数据。。insert into a values(sysdate);
a表为:create table a(a date);之后用SELECT 查询A表并没有想要的定时插入的数据。

解决方案 »

  1.   

    你的init.ora里配置job参数了吗?
      

  2.   

    可以先在在user_jobs下检查你的JOB的运行情况!如果运行状态正常,检查你的过程!
      

  3.   

    JOB LOG_USER                       PRIV_USER                      SCHEMA_USER                    LAST_DATE   LAST_SEC         THIS_DATE   THIS_SEC         NEXT_DATE   NEXT_SEC         TOTAL_TIME BROKEN INTERVAL                                                                           FAILURES WHAT                                                                             NLS_ENV                                                                          MISC_ENV                                                           INSTANCE
    ---------- ------------------------------ ------------------------------ ------------------------------ ----------- ---------------- ----------- ---------------- ----------- ---------------- ---------- ------ -------------------------------------------------------------------------------- ---------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- ---------------------------------------------------------------- ----------
            21 CS5188                         CS5188                         CS5188                         2005-9-7 2: 02:19:07                                      2005-9-7 2: 02:20:07                  0 N      sysdate+1/1440                                                                            0 inserta;                                                                         NLS_LANGUAGE='SIMPLIFIED CHINESE' NLS_TERRITORY='CHINA' NLS_CURRENCY='RMB' NLS_I 0102000200000000                                                          0
             4 CS5188                         CS5188                         CS5188                         2005-9-7 2: 02:15:36                                      2005-9-7 2: 02:16:36                  0 N      sysdate+1/1440                                                                            0 inserta;                                                                         NLS_LANGUAGE='SIMPLIFIED CHINESE' NLS_TERRITORY='CHINA' NLS_CURRENCY='RMB' NLS_I 0102000200000000                                                          0过程:create or replace procedure inserta as
      begin
      insert into a values(sysdate);
      end;
      
      

  4.   

    JOB没有看出问题,试试: 将过程改为:
    create or replace procedure inserta as
      begin
      insert into a values(sysdate);
      commit;
      end;
      

  5.   

    SQL> conn / as sysdba
    SQL> alter system set job_queue_processes=2;SQL> variable n1 number;
    SQL> create table a (id number);
    SQL> exec dbms_job.submit(:n1,'insert into a values(1);',sysdate,'sysdate+1/1440');
    SQL> commit;
    SQL> exec dbms_job.run(:n1);
      

  6.   

    alter system set job_queue_processes=10;