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失败次数

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;

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐