其中一篇随笔我写了oracle的存储过程大概的介绍,存储过程除了自身有in的param,来进行程序调用处理之外,还可以通过定时任务的方式调用来执行。

应用场景:

  数据同步:有两个显示菜单,“信息编辑”,“信息查看”。前一个是面向员工随时填写、查看的,因此数据必须是实时的,而大部分开发场景下,这些数据不是只存在一张表内的,而是多表进行关联,这样速度会稍微慢些,但是是保证数据实时的;而后者的菜单时面向领导的,领导要求查看到的信息是大致准确的就可以,因此要做一个定时的任务,在半夜或者使用量的低谷期进行数据同步。

常用参数:

字段(列)                          类型                           描述 
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)          任务运行的其他一些会话参数

描述                                          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)'

--查询
select * from dba_jobs;
select * from all_jobs;
select a.*,rowid from user_jobs a;
select * from dba_jobs_running;
-- 创建job
declare
job_id number;--声明一个out变量
begin
-- 按天,每天09:30:00执行这个存储过程proc_myproc,并且输出一个job_id变量,其值为该job的ID号
dbms_job.submit(
job_id, --参数是输出参数,由submit()过程返回的binary_ineger,这个值用来唯一标识一个工作。一般定义一个变量接收,可以去user_jobs视图查询job值。
'sap_salesrep_info_v_p;', --参数是将被执行的PL/SQL代码块,存储过程名称等。
sysdate, --参数指识何时将运行这个工作。
'trunc(sysdate,''mi'') + 1/ 144' --参数何时这个工作将被重执行。
);
-- 把job的ID号打印出来
dbms_output.put_line(job_id);
end;
-- 运行job
begin
-- 这个7为job_id,请换为你自己对应的job号
dbms_job.run(7);
end;
-- 启用job
begin
dbms_job.broken(7,false);
end;
-- 禁用job
begin
dbms_job.broken(7,true);
end;
-- 删除一个job
begin
dbms_job.remove(375);
end;

oracle定时job粗解的更多相关文章

  1. Oracle建立全文索引详解

    Oracle建立全文索引详解1.全文检索和普通检索的区别 不使用Oracle text功能,当然也有很多方法可以在Oracle数据库中搜索文本,比如INSTR函数和LIKE操作: SELECT *FR ...

  2. Oracle执行计划详解

    Oracle执行计划详解 --- 作者:TTT BLOG 本文地址:http://blog.chinaunix.net/u3/107265/showart_2192657.html --- 简介:   ...

  3. Oracle定时计划快速使用

    Oracle定时计划快速使用 前言: SQL Server中有相关的定时计划,可以直接打开sql server 的任务管理器进行配置,可以方便.快速实现定时执行相应任务.相应的Oracle也有对应的定 ...

  4. oracle表分区详解

    原文来自:http://www.cnblogs.com/leiOOlei/archive/2012/06/08/2541306.html oracle表分区详解 从以下几个方面来整理关于分区表的概念及 ...

  5. Oracle权限管理详解

    Oracle权限管理详解 转载--CzmMiao的博客生活 Oracle 权限 权限允许用户访问属于其它用户的对象或执行程序,ORACLE系统提供三种权限:Object 对象级.System 系统级. ...

  6. Java从入门到精通——数据库篇Oracle 11g服务详解

    装上Oracle之后大家都会感觉到我们的电脑慢了下来,如何提高计算机的速度呢?我们应该打开必要的服务,关闭没有用的服务.下面是Oracle服务的详解: Oracle ORCL VSS Writer S ...

  7. oracle rac IP详解

    rac环境下vip/public/private IP的区别 每个节点要2块网卡, 3个IP,虚拟IP或者叫做业务IP,单个网卡当掉可以“漂”到其他网卡是继续提供服务 在Oracle RAC环境下,每 ...

  8. oracle tkprof 工具详解

    oracle  tkprof 工具详解 今天是2013-09-26,进行tkprof工具使用学习,在此记录一下笔记: 一)查看需要跟踪会话信息: select s.sid,s.serial#,s.us ...

  9. oracle定时备份与删除N天前备份文件

    oracle定时备份数据库,以及删除7天前备份的数据. 1.创建存放备份目录: mkdir /home/oracle/data_backup mkdir /home/oracle/log_backup ...

随机推荐

  1. 自己写js库,怎么支持AMD

    最近我打算把之前做项目写的一些工具集成到一个js库中,但是库既要在普通环境正常运行,又要在AMD环境下不暴露全局变量.一时间挺头疼的.随即我参考了一些现在流行的库的源码.学着写了一下,感觉还不错. 既 ...

  2. Logback初始化失败问题排查(Web.xml中context-param配置详解)

    监控部分反馈异常,生产系统日志文件竟然木有了(最后一次版本发布后,再也无日志文件生成). 问题排查步骤: 1. 检查logback配置文件 日志生成目录一切正常 应该服务器上磁盘空间未满.操作权限没有 ...

  3. 一篇RxJava友好的文章(一)

    转载请标明出处: http://blog.csdn.net/forezp/article/details/52886700 本文出自方志朋的博客 Rxjava在目前的开发中已经是如火如荼,非常的流行, ...

  4. java mysql多次事务 模拟依据汇率转账,并存储转账信息 分层完成 dao层 service 层 client层 连接池使用C3p0 写入库使用DBUtils

    Jar包使用,及层的划分 c3p0-config.xml <?xml version="1.0" encoding="UTF-8"?> <c3 ...

  5. 实例:关于ALV控件可编辑的整理

    使ALV控件中的内容可编辑 这应该是一个非常有用的功能,这样我们便可以用它来代替table control来编出一些有这现成功能的界面来.实际上,让alv中的内容可以被编辑与alv的事件无关.但是经常 ...

  6. hive连接MySQL报错

    错误如下: [root@awen01 /usr/local/apache-hive-1.2.1-bin]#./bin/hive Logging initialized using configurat ...

  7. Python 中关于文件操作的注意事项

    文件操作 #打开文件 f = open('要打开的文件路径',mode = 'r/w/a', encoding = '文件原来写入时的编码') #操作 data = f.read() #读取 f.wr ...

  8. 用go run命令启动main package中的多个文件

    linux: go run *.go windows: go build后运行main.exe

  9. 机器学习笔记(一)—— 线性回归问题与Matlab求解

    给你多组数据集,例如给你很多房子的面积.房子距离市中心的距离.房子的价格,然后再给你一组面积. 距离,让你预测房价.这类问题称为回归问题. 回归问题(Regression) 是给定多个自变量.一个因变 ...

  10. python-1基础总结

    输入  >>> name = input() 1--如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r''表示''内部的字符串默认不转义,可以自己试 ...