其中一篇随笔我写了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. phpmyadmin高级功能尚未完全设置部分功能未激活

    1.登录phpmyadmin,点击导入,选择/var/ww/html/phpmyadmin/examples/create_tables.sql并执行 完成后可以看到多出了一个库phpmyadmin. ...

  2. git常用命令(二)

    一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r ...

  3. 1、React-Native的基础入门

    React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 React 在原生移动应用平台的衍生产物,目前支持iOS和安 ...

  4. Linux自带mariadb卸载

    MySQL安装过程中报错: dpkg: regarding mysql-community-server_5.6.39-1debian9_i386.deb containing mysql-commu ...

  5. 【c学习-3】

    ---恢复内容开始--- #include<stdio.h> int main(){ ]={,,,,}; ; ;i<=;i++){ printf("%d\n",a ...

  6. Makefile (1) gcc基础

    .c(源文件) --> .i(预处理文件) -->.s(汇编文件) --> -o(目标文件) -->可执行文件 ​ .c --预处理-->.i .i --编译--> ...

  7. lan口和wan口的配置

    路由器的一排网线接口,分为 lan 和 wan .但不是谁生来就是lan口 或者 wan口 . 也没有谁规定就一个wan口 就只有一个. 网口就是网口, 决定它是 lan口 还是 wan口 ,是由我们 ...

  8. ZOJ3640 概率DP

    Background If thou doest well, shalt thou not be accepted? and if thou doest not well, sin lieth at ...

  9. POJ 1180 斜率优化DP(单调队列)

    Batch Scheduling Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 4347   Accepted: 1992 ...

  10. vue webpack build 打包过滤console.log()日志

    vue cli创建项目在 webpack.prod.conf.js文件 //打包时清除页面中所有打印及debugger断点 new webpack.optimize.UglifyJsPlugin({ ...