oracle job 的操作SQL
2016-03-17 09:18
417 查看
oracle job 的操作SQL
不同oracle 客户端工具,操作界面或功能不同,job功能有时找不到,现整理关于JOB相关的SQL以及说明如下,供参考。
1、创建job
DECLAREPX_TJ_HOMEPAGE NUMBER;
BEGIN
DBMS_JOB.SUBMIT(PX_TJ_HOMEPAGE,'PX_TJ_PRE_DAY;',sysdate,'TRUNC(sysdate)+1+2/24');
--2/24 每天凌晨2点
COMMIT; --创建好自动执行一次
END;
其中PX_TJ_PRE_DAY是存储过程的名称,注意后面要加上分号;
2、查看job
select job,last_date,last_sec,next_sec,total_time,interval,whatfrom user_jobs
3、停止job
---停止job 25是建立的job 编号begin
dbms_job.broken(25,true);
commit;
end;
4、启动JOB
--启动jobbegin
dbms_job.run(25);
commit;
end;
5、运行JOB
declarebegin
dbms_job.run(<job>_ID)
end;
6、删除JOB
--删除某个job
dbms_job.remove(v_job);
7、job调用带参数的过程
beginsys.dbms_job.submit(job => :job,
what => 'begin
seq_reset(''mysequence'');
end;',
next_date => to_date('09-07-2010 01:00:00', 'dd-mm-yyyy hh24:mi:ss'),
interval => 'trunc(sysdate)+2/24+1');
commit;
end;
注意:调用的语句需要写在begin和end之间,需要两个单引号;
8、间隔时间说明
描述 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)'
每月25号00:00执行: 'TRUNC(LAST_DAY(SYSDATE ) + 25)'
--------------------------
1:每分钟执行
Interval=> TRUNC(sysdate,'mi') + 1/ (24*60)
或
Interval=> sysdate+1/1440
2:每天定时执行
例如:每天的凌晨1点执行
Interval=> TRUNC(sysdate) + 1 +1/ (24)
3:每周定时执行
例如:每周一凌晨1点执行
Interval=> TRUNC(next_day(sysdate,'星期一'))+1/24
4:每月定时执行
例如:每月1日凌晨1点执行
Interval=>TRUNC(LAST_DAY(SYSDATE))+1+1/24
5:每季度定时执行
例如每季度的第一天凌晨1点执行
Interval=> TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24
6:每半年定时执行
例如:每年7月1日和1月1日凌晨1点
Interval=> ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24
7:每年定时执行
例如:每年1月1日凌晨1点执行
Interval=>ADD_MONTHS(trunc(sysdate,'yyyy'),12)+1/24
相关文章推荐
- oracle 11g 单实例安装(suse)
- Linux中Oracle创建实例
- Oracle 的 KEEP pool, RECYCLE pool和DEFAULT pool
- 【翻译自mos文章】在Oracle Linux7中怎么配置hostname?
- 【翻译自mos文章】当Oracle Linux 6重启之后,/etc/hosts文件内容被改变了
- Oracle函数的使用
- Oracle数据库commit的重要性
- CentOS6.5下安装Oracle 11g R2
- oracle 获取最近的整点、半点时间
- oracle转mysql过程中的sum over处理
- Mutexes in Oracle Database
- oracle 新建用户及授予权限
- oracle rac 日志二 全
- Oracle RAC集群、进程、日志简介
- 在AWS RDS(Oracle)上执行数据导入
- Oracle中关于(汉字)字符问题
- oracle执行计划详解
- Oracle中Merge into用法总结
- Oracle 数据库 11g新特性:自适应游标与 SQL 计划管理
- Oracle sql, 外键,级联