免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 875 | 回复: 0
打印 上一主题 下一主题

oracle job(任务)杂记 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-22 08:54 |只看该作者 |倒序浏览

查询正在运行的job

  1. dba_jobs_running
  2. select SID,JOB,to_char(LAST_DATE,'YYYY-MM-DD HH24:MI:SS') FROM dba_jobs_running;

查看jobidjob的任务名是什么,上次和下次的执行时间以及刷新的执行的时间间隔

  1. 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

查看定义的存储过程代码

 

  1. select NAME,TYPE,LINE,TEXT from user_source;


 

********
创建job*
********

  1. 1.创建一个测试表
  2. create table test(a date);
  3. 2.创建存储过程
  4. create or replace procedure myproc as
  5. begin
  6. insert into test values(sysdate);
  7. end;
  8. /
  9. 3.创建job
  10. variable n number;
  11. begin
  12. dbms_job.submit(:n,'myproc;',sysdate,'sysdate+1/360');
  13. commit;
  14. end;
  15. /
  16. 查看job号
  17. print :n;
  18. 换个写法
  19. variable jobno number
  20. begin
  21. dbms_job.submit(job => :jobno,
  22. what => 'myproc;',
  23. next_date => to_date('2011-08-02 12:30:00','YYYY-MM-DD HH24:MI:SS'),
  24. interval => 'sysdate+1');
  25. commit;
  26. end;
  27. /
  28. print jobno

 

 

********************
修改job的运行时间***
********************

格式

 

  1. exec dbms_job.change(job号,what,next_date,interval);
  2. 如果不用修改的字段就写成null

如,想把41job下一次运行时间改为83号的7点执行

 

  1. exec dbms_job.change(41,null,trunc(sysdate+1)+(7*60)/(24*60),null);


 

数据字典DBA_JOBS的字段意义

  1. 字段(列) 类型 描述
  2. JOB NUMBER 任务的唯一标示号
  3. LOG_USER VARCHAR2(30) 提交任务的用户
  4. PRIV_USER VARCHAR2(30) 赋予任务权限的用户
  5. SCHEMA_USER VARCHAR2(30) 对任务作语法分析的用户模式
  6. LAST_DATE DATE 最后一次成功运行任务的时间
  7. LAST_SEC VARCHAR2(8) 如HH24:MM:SS格式的last_date日期的小时,分钟和秒
  8. THIS_DATE DATE 正在运行任务的开始时间,如果没有运行任务则为null
  9. THIS_SEC VARCHAR2(8) 如HH24:MM:SS格式的this_date日期的小时,分钟和秒
  10. NEXT_DATE DATE 下一次定时运行任务的时间
  11. NEXT_SEC VARCHAR2(8) 如HH24:MM:SS格式的next_date日期的小时,分钟和秒
  12. TOTAL_TIME NUMBER 该任务运行所需要的总时间,单位为秒
  13. BROKEN VARCHAR2(1) 标志参数,Y标示任务中断,以后不会运行
  14. INTERVAL VARCHAR2(200) 用于计算下一运行时间的表达式
  15. FAILURES NUMBER 任务运行连续没有成功的次数
  16. WHAT VARCHAR2(2000) 执行任务的PL/SQL块
  17. CURRENT_SESSION_LABEL RAW MLSLABEL 该任务的信任Oracle会话符
  18. CLEARANCE_HI RAW MLSLABEL 该任务可信任的Oracle最大间隙
  19. CLEARANCE_LO RAW MLSLABEL 该任务可信任的Oracle最小间隙
  20. NLS_ENV VARCHAR2(2000) 任务运行的NLS会话设置
  21. MISC_ENV RAW(32) 任务运行的其他一些会话参数
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP