SQL> desc all_jobs;
 名称                                                  空值?    类型
 ----------------------------------------------------- -------- --------------
 JOB                                                   NOT NULL NUMBER
 LOG_USER                                              NOT NULL VARCHAR2(30)
 PRIV_USER                                             NOT NULL VARCHAR2(30)
 SCHEMA_USER                                           NOT NULL VARCHAR2(30)
 LAST_DATE                                                      DATE
 LAST_SEC                                                       VARCHAR2(8)
 THIS_DATE                                                      DATE
 THIS_SEC                                                       VARCHAR2(8)
 NEXT_DATE                                             NOT NULL DATE
 NEXT_SEC                                                       VARCHAR2(8)
 TOTAL_TIME                                                     NUMBER
 BROKEN                                                         VARCHAR2(1)
 INTERVAL                                              NOT NULL VARCHAR2(200)
 FAILURES                                                       NUMBER
 WHAT                                                           VARCHAR2(4000)
 NLS_ENV                                                        VARCHAR2(4000)
 MISC_ENV                                                       RAW(32)
 INSTANCE                                                       NUMBERSQL> select job,what from all_jobs;未选定行SQL>

解决方案 »

  1.   

    那为什么我定义8888job的时候说主键重复,select job,what from all_jobs的时候没有任何记录??SQL> execute dbms_job.isubmit(8888,'usp_storage_dataexchange;',TO_DATE( (to_char(sysdate,'YYYY-MM-DD')||'12:00:00'),'YYYY-MM-DD HH24:MI:SS'),'TRUNC(SYSDATE+1)+12/24');begin dbms_job.isubmit(8888,'usp_storage_dataexchange;',TO_DATE( (to_char(sysdate,'YYYY-MM-DD')||'12:00:00'),'YYYY-MM-DD HH24:MI:SS'),'TRUNC(SYSDATE+1)+12/24'); end;ORA-00001: 违反唯一约束条件 (SYS.I_JOB_JOB)
    ORA-06512: 在"SYS.DBMS_JOB", line 97
    ORA-06512: 在line 1
    SQL> select job ,what from all_jobs;       JOB WHAT
    ---------- --------------------------------------------------------------------------------SQL> ------------------- ---------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- ---------------------------------------------------------------- ----------SQL>
      

  2.   

    不知道8888这个Job隐藏在哪?请高人指点。
      

  3.   

    try:
    connect system/manager
    select * from dba_jobs;
      

  4.   

    作业的编号是整个数据库公共的,在当前实例下查不到并不代表在整个系统的其他实例下没有。楼主可以让系统自动生成JOB的编号:
    -----------------------------------------------------------------------------------
    variable n number; 
    begin 
    dbms_job.submit(:n‘my_job;’,sysdate, 
    ‘sysdate+1/360’); 
    commit; 
    end; 
    / print :n; 
      

  5.   

    以DBA身份登陆,如:
    connect / as sysdba
    查看数据库中所有job:
    select * from dba_jobs;