业务需求,需要与A公司做数据对接,我们公司用的Oracle,A公司用的SQL Server数据库,如何跨数据库建立连接呢?这里使用的是DBLink,不会配置的请看我的另外一篇博客:https://www.cnblogs.com/chenyanbin/p/11291752.html

  如果做数据同步呢?上面我们已经通过DBLink与SQL Server建立连接了,那么我们就可以获取A公司表中的数据。在通过Oracle Job定时任务,具体JOB还有那些功能,这里不做详细介绍了,百度上一大堆,这里我们只讲解Oracle Job创建步骤。

  我们已经知道job是一个定时任务,也就是说可以在一个规定的时间内,执行某一项任务,这个任务就是“存储过程”。

第一步:先创建存储过程(做一个简单DEMO往一张表插入当前时间)

 create or replace procedure proc_add_test as
begin
insert into test values (to_char(sysdate, 'yyyy-mm-dd hh:mi'));/*向测试表插入数据*/
commit; /*提交*/
end; create or replace procedure 存储过程名称 as
begin
/*业务逻辑片段*/
end;

第二步:创建Oracle Job定时任务,实现每隔多长时间调用存储过程

 declare
job number; /*job:定时器名称*/
BEGIN
DBMS_JOB.SUBMIT(
JOB => job, /*自动生成JOB_ID*/
WHAT => 'proc_add_test;', /*需要执行的存储过程名称或SQL语句*/
NEXT_DATE => sysdate+/(*), /*初次执行时间-下一个3分钟*/
INTERVAL => 'trunc(sysdate,''mi'')+1/(24*60)' /*每隔1分钟执行一次*/
);
commit;
end;

搞定,到目前为止,一个简单的Oracle Job已经创建好了,

job基本用法!!!

1、查询job信息

 SELECT * FROM user_jobs;

字段介绍

2、停止Oracle Job任务

 begin
dbms_job.broken(, true, sysdate);
commit;
end; 语法:
begin
dbms_job.broken(任务的唯一标识符, true, sysdate);
commit;
end;

3、启用Oracle Job任务

 begin
dbms_job.run();
end; 语法:
begin
dbms_job.run(任务的唯一标识符);
end;

4、删除定时器

 begin
dbms_job.remove();
commit;
end; begin
dbms_job.remove(任务的唯一标识符);
commit;
end;

5、INTERVAL参数常用值示例

 每天午夜12点            ''TRUNC(SYSDATE + )''
每天早上8点30分 ''TRUNC(SYSDATE + ) + (*+)/(*)''
每星期二中午12点 ''NEXT_DAY(TRUNC(SYSDATE ), ''''TUESDAY'''' ) + /''
每个月第一天的午夜12点 ''TRUNC(LAST_DAY(SYSDATE ) + )''
每个季度最后一天的晚上11点 ''TRUNC(ADD_MONTHS(SYSDATE + /, ), ''Q'' ) -/''
每星期六和日早上6点10分 ''TRUNC(LEAST(NEXT_DAY(SYSDATE, ''''SATURDAY"), NEXT_DAY(SYSDATE, "SUNDAY"))) + (6×60+10)/(24×60)''
每3秒钟执行一次 'sysdate+3/(24*60*60)'
每2分钟执行一次 'sysdate+2/(24*60)' :每分钟执行
Interval => TRUNC(sysdate,'mi') + / (*) --每分钟执行
interval => 'sysdate+1/(24*60)' --每分钟执行
interval => 'sysdate+1' --每天
interval => 'sysdate+1/24' --每小时
interval => 'sysdate+2/24*60' --每2分钟
interval => 'sysdate+30/24*60*60' --每30秒
:每天定时执行
Interval => TRUNC(sysdate+) --每天凌晨0点执行
Interval => TRUNC(sysdate+)+/ --每天凌晨1点执行
Interval => TRUNC(SYSDATE+)+(*+)/(*) --每天早上8点30分执行
:每周定时执行
Interval => TRUNC(next_day(sysdate,'星期一'))+/ --每周一凌晨1点执行
Interval => TRUNC(next_day(sysdate,))+/ --每周一凌晨2点执行
:每月定时执行
Interval =>TTRUNC(LAST_DAY(SYSDATE)+) --每月1日凌晨0点执行
Interval =>TRUNC(LAST_DAY(SYSDATE))++/ --每月1日凌晨1点执行
:每季度定时执行
Interval => TRUNC(ADD_MONTHS(SYSDATE,),'q') --每季度的第一天凌晨0点执行
Interval => TRUNC(ADD_MONTHS(SYSDATE,),'q') + / --每季度的第一天凌晨1点执行
Interval => TRUNC(ADD_MONTHS(SYSDATE+ /,),'q')-/ --每季度的最后一天的晚上11点执行
:每半年定时执行
Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),)+/ --每年7月1日和1月1日凌晨1点
:每年定时执行
Interval =>ADD_MONTHS(trunc(sysdate,'yyyy'),)+/ --每年1月1日凌晨1点执行

最新文章

  1. 初识Linux—1
  2. ACM: meixiuxiu学图论-并查集-最小生成树-解题报告
  3. iOS 微信支付
  4. 使用Jekyll官方的ReadMore摘要功能
  5. Java web小记
  6. shell编程之echo命令
  7. numpy的矩阵运算
  8. ios7自带的晃动效果
  9. jsp查询页面和结果页面在同一页面显示和交互
  10. 非对称加密算法RSA使用注意事项
  11. 企业架构研究总结(33)——TOGAF架构内容框架之架构制品(上)
  12. 打字机效果-so easy
  13. 布隆(Bloom)过滤器 JAVA实现
  14. eclipse的常用设置
  15. ef.core Mysql
  16. 理解IO、NIO、 AIO
  17. 前端面试题整理—ajax篇
  18. SpringBoot------异步任务的使用
  19. CM记录-优化配置解决Reduce卡顿问题
  20. opencv7-ml之统计模型

热门文章

  1. C# Linq 笛卡尔积
  2. 基于SpringCloud的微服务架构实战案例项目
  3. QRowTable表格控件(二)-红涨绿跌
  4. C# oleDb方法读取Excel文件
  5. Git命令行之快速入门
  6. python 面向对象编程 - 小游戏
  7. DAX 第六篇:统计函数
  8. 统计学习方法(李航)朴素贝叶斯python实现
  9. 二、C#中数据库连接是用sqlconection 而access是用oledb对象例如:
  10. java练习---12