ORACLE查詢JOB資訊及JOB建立

germany006發表於2015-11-26
1、查詢系統JOB
select job,
       what,
       to_char(next_date, 'yyyy/mm/dd hh24:mi:ss'),
       broken,
       failures,
       schema_user,
       log_user,
       priv_user
  from dba_jobs;


2、查詢某個JOB的詳細資訊(JOB名稱如果有字首使用者名稱的要去掉才能查到)
select *
  from user_scheduler_job_log
 where job_name = 'FEE_SPLIT_SCHEDULE_JOB'


3、根據上面查到的LOG_ID資訊查詢JOB日誌詳細資訊
select * from user_scheduler_job_run_details where log_id = 100555;

4、查詢JOB失敗次數
  1. select job,what,failures,broken from user_jobs  

    5、查詢所有的job:(包括系統和使用者的JOB)
    select b.name username, d.obj#, a.name job_name, d.failure_count
      from sys.obj$ a, sys.user$ b, sys.obj$ c, sys.scheduler$_job d
     where d.obj# = a.obj#
       AND a.owner# = b.user#
       AND d.class_oid = c.obj#(+)

 6、查詢正在執行的job:

SELECT SID,JOB FROM DBA_JOBS_RUNNING; 



7、建立Job
(1)建立儲存過程   
create  procedure glog_job_pro   as  
begin  
insert into...
end glog_job_pro; 
  
(2)建立job
 declare  glog_job number;  
begin  
dbms_job.submit(glog_job,'glog_job_pro;',sysdate,'TRUNC(next_day(sysdate,'星期日'))+8/24');  
commit;  
end;  

注意:如果第三個引數設定了sysdate,則預設建立Job之後立刻執行

begin
  sys.dbms_scheduler.create_job(job_name            => 'GLOG.FEE_SPLIT_SCHEDULE_JOB',
                                job_type            => 'STORED_PROCEDURE',
                                job_action          => 'GLOG.FEE_SPLIT_AUTO_RUNNING',
                                start_date          => to_date('16-11-2015 05:12:00', 'dd-mm-yyyy hh24:mi:ss'),
                                repeat_interval     => 'Freq=HOURLY;Interval=8',
                                end_date            => to_date('16-11-2055 05:12:00', 'dd-mm-yyyy hh24:mi:ss'),
                                job_class           => 'DEFAULT_JOB_CLASS',
                                enabled             => true,
                                auto_drop           => false,
                                comments            => '費用');
end;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28371090/viewspace-1846910/,如需轉載,請註明出處,否則將追究法律責任。

相關文章