Oracle Job定时任务.docx
文本预览下载声明
Oracle Job定时任务oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务。?一、查询系统中的job,可以查询视图--相关视图select * fromdba_jobs;select * fromall_jobs;select * fromuser_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 ? ? ? ? ? ?正在运行任务的开始时间,如果没有运行任务则为nullTHIS_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) ? ? ? ? ?任务运行的其他一些会话参数*/-- 正在运行jobselect * fromdba_jobs_running;其中最重要的字段就是job 这个值就是我们操作job的id号,what 操作存储过程的名称,next_date执行的时间,interval执行间隔?二、执行间隔interval 运行频率描述????????????????????????????? INTERVAL参数值?每天午夜12点???????????????? TRUNC(SYSDATE + 1)?每天早上8点30分???????????? TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)?每星期二中午12点??????????? NEXT_DAY(TRUNC(SYSDATE ), TUESDAY ) + 12/24?每个月第一天的午夜12点??????? TRUNC(LAST_DAY(SYSDATE ) + 1)?每个季度最后一天的晚上11点???? TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), Q ) -1/24?每星期六和日早上6点10分??????? TRUNC(LEAST(NEXT_DAY(SYSDATE, SATURDAY), NEXT_DAY(SYSDATE, SUNDAY))) + (6×60+10)/(24×60)每秒钟执行次Interval = sysdate + 1/(24 * 60 * 60)如果改成sysdate + 10/(24 * 60 * 60)就是10秒钟执行次每分钟执行?Interval = TRUNC(sysdate,mi) + 1/ (24*60)如果改成TRUNC(sysdate,mi) + 10/ (24*60
显示全部