查询正在运行的job
- dba_jobs_running
- select SID,JOB,to_char(LAST_DATE,'YYYY-MM-DD HH24:MI:SS') FROM dba_jobs_running;
查看job的id,job的任务名是什么,上次和下次的执行时间以及刷新的执行的时间间隔
- SELECT JOB,WHAT,LOG_USER,TO_CHAR(LAST_DATE,'YYYY-MM-DD HH24:MI:SS'),TO_CHAR(NEXT_DATE,'YYYY-MM-DD HH24:MI:SS'),INTERVAL FROM USER_JOBS;
查看job的具体内容
user_source
查看定义的存储过程代码
- select NAME,TYPE,LINE,TEXT from user_source;
********
创建job*
********
- 1.创建一个测试表
- create table test(a date);
- 2.创建存储过程
- create or replace procedure myproc as
- begin
- insert into test values(sysdate);
- end;
- /
- 3.创建job
- variable n number;
- begin
- dbms_job.submit(:n,'myproc;',sysdate,'sysdate+1/360');
- commit;
- end;
- /
- 查看job号
- print :n;
- 换个写法
- variable jobno number
- begin
- dbms_job.submit(job => :jobno,
- what => 'myproc;',
- next_date => to_date('2011-08-02 12:30:00','YYYY-MM-DD HH24:MI:SS'),
- interval => 'sysdate+1');
- commit;
- end;
- /
print jobno
********************
修改job的运行时间***
********************
格式
- exec dbms_job.change(job号,what,next_date,interval);
- 如果不用修改的字段就写成null
如,想把41号job下一次运行时间改为8月3号的7点执行
- exec dbms_job.change(41,null,trunc(sysdate+1)+(7*60)/(24*60),null);
数据字典DBA_JOBS的字段意义
- 字段(列) 类型 描述
- JOB NUMBER 任务的唯一标示号
- LOG_USER VARCHAR2(30) 提交任务的用户
- PRIV_USER VARCHAR2(30) 赋予任务权限的用户
- SCHEMA_USER VARCHAR2(30) 对任务作语法分析的用户模式
- LAST_DATE DATE 最后一次成功运行任务的时间
- LAST_SEC VARCHAR2(8) 如HH24:MM:SS格式的last_date日期的小时,分钟和秒
- THIS_DATE DATE 正在运行任务的开始时间,如果没有运行任务则为null
- THIS_SEC VARCHAR2(8) 如HH24:MM:SS格式的this_date日期的小时,分钟和秒
- NEXT_DATE DATE 下一次定时运行任务的时间
- NEXT_SEC VARCHAR2(8) 如HH24:MM:SS格式的next_date日期的小时,分钟和秒
- TOTAL_TIME NUMBER 该任务运行所需要的总时间,单位为秒
- BROKEN VARCHAR2(1) 标志参数,Y标示任务中断,以后不会运行
- INTERVAL VARCHAR2(200) 用于计算下一运行时间的表达式
- FAILURES NUMBER 任务运行连续没有成功的次数
- WHAT VARCHAR2(2000) 执行任务的PL/SQL块
- CURRENT_SESSION_LABEL RAW MLSLABEL 该任务的信任Oracle会话符
- CLEARANCE_HI RAW MLSLABEL 该任务可信任的Oracle最大间隙
- CLEARANCE_LO RAW MLSLABEL 该任务可信任的Oracle最小间隙
- NLS_ENV VARCHAR2(2000) 任务运行的NLS会话设置
- MISC_ENV RAW(32) 任务运行的其他一些会话参数
阅读(1828) | 评论(0) | 转发(0) |