创建ORACLE定时任务 任务日志记录
##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定时任务 任务日志记录相关推荐
- linux 查看 定时任务 crontab 日志记录
在Unix和类Unix的操作系统之中,crontab命令常用于设置周期性被执行的指令,也可以理解为设置定时任务. crontab中的定时任务有时候没有成功执行,什么原因呢?这时就需要去日志里去分析一下 ...
- 新建oracle数据库定时任务,创建 Oracle 定时任务
功能说明: 要求实现数据库中的表数据每天午夜时分定时自动执行数据迁移动作. 1. 创建历史数据存储表(USER_TAB_BAK), 要求与源表(USER_TAB)结构一致; for example: ...
- PLSQL创建Oracle定时任务,定时执行存储过程
1.创建定时向表中插入数据的存储过程,名为testJob. CREATE OR REPLACE PROCEDURE "testJob" AS BEGINEXECUTE IMMEDI ...
- PLSQL创建Oracle定时任务
转自:http://www.cnblogs.com/yx007/p/6519544.html#_label0 转载于:https://www.cnblogs.com/good-tomorrow/p/7 ...
- 用户操作拦截并作日志记录--自定义注解+AOP拦截
作为运营除了处理系统生产问题,还要处理大量的用户上报事件,这部分工作占用了大量的人力.所有考虑把一部分事件查询处理做成一个自助平台,让用户自行核查处理.于是就有了用户自助系统.考虑到如何计量这个工具平 ...
- 操作系统服务:logging日志记录模块
许多应用程序中都会有日志模块,用于记录系统在运行过程中的一些关键信息,以便于对系统的运行状况进行跟踪. 在.NET平台中,有非常著名的第三方开源日志组件log4net,c++中,有人们熟悉的log4c ...
- 教程:测试期间的日志记录
日志记录是一种流行的解决方案,用于显示软件在运行时的运行状况. 但是,当我们使用jUnit / TestNG对应用程序进行单元测试时,日志记录会怎样? 在自动化测试执行期间,我们通常不希望看到日志记录 ...
- oracle 定时任务例子【项目例子】
说明:请在plsql工具的命令窗口中,依次按步骤执行如下脚本 (1)建立备份表 my_test_log2 create table my_test_log2 as select * from m ...
- 74. 学会使用 SAP ABAP Application Log 在代码里添加应用日志记录功能
文章目录 ABAP 应用日志对象的概念和创建 如何创建需要通过应用日志记录的消息(message) 使用应用日志创建 API 进行日志记录的创建 使用事物码 SLG1 查看生成的应用日志内容 总结 笔 ...
- oracle数据库日志记录内容,oracle日志记录方式
oracle日志记录模式 oracle 日志记录模式(LOGGING.FORCE LOGGING.NOLOGGING) 1.LOGGING(默认):当创建一个数据库对象时将记录日志信息到联机重做日志文 ...
最新文章
- iOS 11 UIScrollView的新特性(automaticallyAdjustsScrollViewInsets 不起作用了)
- 如何查看仅一个用户提交的git日志?
- pybind11回调函数返回指针
- 如何正确使用SqlConnection
- python 使用raise语句主动抛出异常(Exception)、将异常抛出给上一级
- ubuntu部署git
- OOD之问题空间到解空间—附FP的建模
- prototype.js教程及prototype中文手册
- tp5中php正则怎么写,详解tp5中phpmailer的使用
- 清华计算机系山东分数,清华大学山东录取分数线|2021清华大学山东分数线|2021年清华大学山东高考分数线|2021年清华大学山东招生计划录取人数...
- MATLAB中的imagesc
- Perl文件内容对比
- git使用笔记(二)分支与合并
- 基于java飞机大战游戏
- Matlab之全局变量
- 标签上的title属性和alt属性有什么区别
- 微信 android应用签名生成工具,GitHub - feinoah/WeChatSignature: 改进版本的微信应用签名生成工具,再也不用输入包名了!...
- w ndows10启动黑屏,Windows10系统电脑开机输入密码黑屏如何解决
- 集合数据结构线程并发库
- 广义相对论和狭义相对论到底是讲什么的?