##ORACLE定时任务
一、首先是检查当前数据库配置 JOB_QUEUE_PROCESSES
检查方式:select value from v$parameter where name like ‘%job_queue_processes%’
若结果为0则不会自动运行。
修改方式:alter system set job_queue_processes = 0 -1000
以上引用自ORACLE 定时任务没有执行 解决
二、创建任务执行日志记录表
create table JOB_LOG(
id varchar2(32),
job_name varchar2(128),
status varchar2(32),
execut_status varchar2(32),
created_time timestamp,
updated_time timestamp,
Sk_date number,
param_value varchar2(1000),
error_msg varchar2(2000)
);

COMMENT ON TABLE JOB_LOGIS ‘job运行记录日志’;
comment on column JOB_LOG.status is ‘job运行状态,executing 执行中,finish已结束,forcedEnd强制终止’;
comment on column JOB_LOG.execut_status is ‘job执行结果,success成功,fail失败’;

三、日志保存过程
CREATE OR REPLACE PACKAGE BODY PKG_JOB_LOG IS

PROCEDURE job_log(
IN_JOBNAME in varchar2,
IN_DATE IN NUMBER,
IN_PARAM IN VARCHAR2
) is
begin
update JOB_LOG A
set A.status = ‘forcedEnd’,
A.updated_time = sysdate
where A.JOB_NAME = IN_JOBNAME
and A.status = ‘executing’;
commit;
insert into JOB_LOG (id,
job_name,
status,
execut_status,
created_time,
updated_time,
sk_date,
param_value,
error_msg)
values (sys_guid(), IN_JOBNAME, ‘executing’, null, sysdate, sysdate, IN_DATE, IN_PARAM, null);
commit;
end job_log;

PROCEDURE job_success(IN_JOBNAME in varchar2) is
begin
update JOB_LOG A
set A.status = ‘finish’,
a.execut_status = ‘success’,
a.updated_time = sysdate
where A.JOB_NAME = IN_JOBNAME
and A.status = ‘executing’;
commit;
end job_success;

PROCEDURE job_fail(
IN_JOBNAME in varchar2,
IN_ERROR_MSG IN VARCHAR2
) is
begin
update JOB_LOG A
set A.status = ‘finish’,
a.execut_status = ‘fail’,
a.updated_time = sysdate,
a.error_msg = IN_ERROR_MSG
where A.JOB_NAME = IN_JOBNAME
and A.status = ‘executing’;
commit;
end job_fail;

END PKG_JOB_LOG;
四、统一的任务调用中心存储过程
CREATE OR REPLACE PACKAGE BODY PKG_ORACLE_JOB IS

PROCEDURE JOB_01 is
V_JOB_NAME varchar2(64):='JOB_01 ';
V_DATE number:=to_namber(to_char(sysdate,‘yyyyMMdd’));

beginPKG_APP_JOB_LOG.job_log(V_JOB_NAME,V_DATE,null);//此处调用实际的处理过程PKG_APP_JOB_LOG.job_success(V_JOB_NAME);commit;EXCEPTIONwhen others thenPKG_APP_JOB_LOG.job_fail(V_JOB_NAME,SUBSTR(SQLERRM, 1, 1000));commit;
end JOB_01 ;

END PKG_ORACLE_JOB ;

五、创建定时任务
declare
JOB_01 number;
begin
sys.dbms_job.submit(JOB_01 , --任务名称
‘PKG_ORACLE_JOB.JOB_01;’,–执行的过程
sysdate,–执行时间
‘trunc(sysdate)+1+4/24’);–下次执行时间
commit;
end;

创建ORACLE定时任务 任务日志记录相关推荐

  1. linux 查看 定时任务 crontab 日志记录

    在Unix和类Unix的操作系统之中,crontab命令常用于设置周期性被执行的指令,也可以理解为设置定时任务. crontab中的定时任务有时候没有成功执行,什么原因呢?这时就需要去日志里去分析一下 ...

  2. 新建oracle数据库定时任务,创建 Oracle 定时任务

    功能说明: 要求实现数据库中的表数据每天午夜时分定时自动执行数据迁移动作. 1. 创建历史数据存储表(USER_TAB_BAK), 要求与源表(USER_TAB)结构一致; for example: ...

  3. PLSQL创建Oracle定时任务,定时执行存储过程

    1.创建定时向表中插入数据的存储过程,名为testJob. CREATE OR REPLACE PROCEDURE "testJob" AS BEGINEXECUTE IMMEDI ...

  4. PLSQL创建Oracle定时任务

    转自:http://www.cnblogs.com/yx007/p/6519544.html#_label0 转载于:https://www.cnblogs.com/good-tomorrow/p/7 ...

  5. 用户操作拦截并作日志记录--自定义注解+AOP拦截

    作为运营除了处理系统生产问题,还要处理大量的用户上报事件,这部分工作占用了大量的人力.所有考虑把一部分事件查询处理做成一个自助平台,让用户自行核查处理.于是就有了用户自助系统.考虑到如何计量这个工具平 ...

  6. 操作系统服务:logging日志记录模块

    许多应用程序中都会有日志模块,用于记录系统在运行过程中的一些关键信息,以便于对系统的运行状况进行跟踪. 在.NET平台中,有非常著名的第三方开源日志组件log4net,c++中,有人们熟悉的log4c ...

  7. 教程:测试期间的日志记录

    日志记录是一种流行的解决方案,用于显示软件在运行时的运行状况. 但是,当我们使用jUnit / TestNG对应用程序进行单元测试时,日志记录会怎样? 在自动化测试执行期间,我们通常不希望看到日志记录 ...

  8. oracle 定时任务例子【项目例子】

    说明:请在plsql工具的命令窗口中,依次按步骤执行如下脚本    (1)建立备份表 my_test_log2 create table my_test_log2 as select * from m ...

  9. 74. 学会使用 SAP ABAP Application Log 在代码里添加应用日志记录功能

    文章目录 ABAP 应用日志对象的概念和创建 如何创建需要通过应用日志记录的消息(message) 使用应用日志创建 API 进行日志记录的创建 使用事物码 SLG1 查看生成的应用日志内容 总结 笔 ...

  10. oracle数据库日志记录内容,oracle日志记录方式

    oracle日志记录模式 oracle 日志记录模式(LOGGING.FORCE LOGGING.NOLOGGING) 1.LOGGING(默认):当创建一个数据库对象时将记录日志信息到联机重做日志文 ...

最新文章

  1. html 视频兼容苹果,video苹果兼容flash播放
  2. Linux基础学习系列:对于fork()函数的学习,及进程创建相关知识
  3. 数据库元数据数据字典查询_8_列出给定表的默认约束
  4. position: relative;导致页面卡顿
  5. 女博士7年不毕业,她破解了“量子计算最基础问题”
  6. 个人计算机的防毒软件无法防御,在win10系统中无法启动defender防御软件的解决方法...
  7. 『TensorFlow』模型保存和载入方法汇总
  8. Saving James Bond - Easy Version 原创 2017年11月23日 13:07:33
  9. 机器视觉开源代码集合(转载)
  10. 【问题解决】线程间操作无效:从不是创建控件“textBox1”的线程访问它
  11. matlab聚合矩阵,c#和ILNumerics与Matlab中最有效的矩阵聚合方式
  12. 前后端分离,nginx解决跨域问题
  13. mybatis支持属性使用驼峰的命名
  14. pdfptable pdf生成表格分页_Excel按一下这个键,一张纸打印所有表格,不要浪费A4纸了...
  15. 进程调度算法-先来先服务、最短作业优先调度算法和高响应比优先调度算法
  16. 提醒:使用过期Win10预览版后果很严重
  17. Statements must be separated by newlines or semicolons
  18. ubuntu16.0.4安装GNOME3
  19. 鼠标滑轮将物体放大缩小
  20. 三维触控测试软件,解读苹果3D touch三维触控技术

热门文章

  1. android圆饼图占比
  2. 产业园 电气火灾监控系统的应用
  3. 用通俗的语言解释贝叶斯公式
  4. python3.5 爬取mzitu网站图片
  5. Word批量生成软件
  6. Python3.6实现付费酷狗音乐免费下载(已用tkinter封装GUI)
  7. 联想硬盘保护安装linux,【原创参赛】联想硬盘保护系统 (详细说明)
  8. ssm毕设项目疫情防控管理系统02vsf(java+VUE+Mybatis+Maven+Mysql+sprnig)
  9. 2018百度seo最新算法大全 青岛墨羽SEO统计
  10. PTP(IEEE1588),TSN时间同步方法