linux脚本定时调用存储过程,LINUX定时执行SHELL脚本实现DB2对存储过程的调用

2023-11-02

需求分析:本地化零件待办数量对应用户统计存入数据表,定时更新,使用linux的crontab定时任务来完成

1.编写存储过程

--设置指向的数据库

SET SCHEMA = DB2INST1;

--设置当前的路径

SET CURRENT PATH =

"SYSIBM","SYSFUN","SYSPROC","SYSIBMADM","DB2INST1";

--创建存储过程

CREATE PROCEDURE "DB2INST1".monitor_lingjian()

Begin

--删除本地化零件(009)相关的数据

delete from cs_coc_deal_infos where SYS_ID='009';

--插入统计的本地化零件相关的数据至cs_coc_deal_infos表中

insert into  cs_coc_deal_infos(SYS_ID,DEAL_NUM,DEAL_USER)

select  '009' as SYS_ID,sum(num) as DEAL_NUM,DESINGER from(

select count(*) as num,DESINGER from SOA_LPP_TM_TASK_V group by DESINGER

Union select count(*) as num,DESINGER from SOA_LPP_LP_TASK_V  group by DESINGER

Union select count(*) as num,DESINGER from SOA_LPP_LAR_TASK_V  group by DESINGER

Union select count(*) as num,DESINGER from SOA_LPP_PPAPAPP_TASK_V  group by DESINGER

Union select count(*) as num,DESINGER from SOA_LPP_TAR_TASK_V group by DESINGER

Union select count(*) as num,DESINGER from SOA_LPP_TAN_TASK_V group by DESINGER

Union Select count(*) as num,DESINGER from SOA_LPP_KD_TASK_V  group by DESINGER

Union Select count(*) as num,DESINGER from SOA_LPP_CSL_TASK_V group by DESINGER) group by DESINGER;

--插入累加的总待办数量给wpsadmin用户

insert into cs_coc_deal_infos(SYS_ID,DEAL_NUM,DEAL_USER)

select '009' as SYS_ID,sum(deal_num) as deal_num,'wpsadmin' as deal_user from cs_coc_deal_infos where SYS_ID='009' and DEAL_USER<>'wpsadmin';

end

--测试存储过程是否创建成功

call"DB2INST1".monitor_lingjian()

2.创建shell脚本(monitor_lingjian.sh)

#! /bin/sh

[注释:注意#打头什么的都去掉吧,这是干扰crontab执行脚本的重要原因!]

DB2_HOME=/opt/ibm/db2/V9.7

PATH=$DB2_HOME/bin:$PATH

export $DB2_HOME

export $PATH

[注释:必须要设置导出一下相关命令(DB2)的环境变量,否则crontab无法正常识别执行]

Tips:其实这个可以写在etc文件夹中的profile文件中的,然后导入profile文件,但是众所周知,profile文件中配置整个系统中一系列的环境变量的,如果配置在这个文件中那么所有的用户都可以使用到该环境变量,从安全性这方面考虑呢,还是最好就将需要使用的命令的环境变量配置在脚本中即可。

startTime=`date +%Y%m%d%H%M%S`

echo $startTime

echo "开始执行脚本"

db2 connect to STSUPM2 user db2inst1 using db2inst1

[注释:注意不仅要连接到数据库还要连接到存储过程所在实例名]

echo "连接上数据库,开始执行脚本"

db2 "call monitor_lingjian()"

endTime=`date +%Y%m%d%H%M%S`

echo $endTime

echo "脚本执行完毕!关闭数据库连接"

db2 terminate

附:脚本中包含一些时间或者文字记录,有利于跟踪脚本的执行

3.使用crontab创建定时任务

1) 创建定时任务

在etc文件夹下面找到crondtab文件,在其最后一行加上

*/10 * * * * root /opt/monitor_lingjian.sh>>/opt/monitor_lingjian.log

格式注释:分钟 小时 日 月 星期 用户 脚本绝对路径>>日志文件所在绝对路径

表示每10分钟执行一次脚本文件monitor_lingjian.sh,并将打印信息输出在

monitor_lingjian.log文件中

2) 重启crond服务

[root@localhost ~]# /etc/init.d/crond restart

如果让crond在开机时运行,应该改变其运行级别

[root@localhost ~]# chkconfig --levels 35 crond on

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux脚本定时调用存储过程,LINUX定时执行SHELL脚本实现DB2对存储过程的调用 的相关文章

  • 计算机操作系统手册,轻松的开发一个操作系统(指导手册)

    轻松的开发一个操作系统 指导手册 标签 翻译家 编程 操作系统 chapter 1 前言 我们都使用过操作系统 又或者写过某个系统上运行着的程序 但操作系统到底是来做什么的 我所看到的工作多少是硬件完成的又有多少是软件完成的 电脑实际上是如
  • adb no permissions问题

    Google一番 得知可以通过用root权限启动adb server来解决问题 但是每次用adb不会很麻烦嘛 后来发现在SDK的帮助文档里有关于这个问题的说明 If you re developing on Ubuntu Linux you
  • 理解 $nextTick 的作用

    有同学在看 Vue 官方文档时 对 API 文档中的 Vue nextTick 和 vm nextTick 的作用不太理解 其实如果看一下深入响应式原理 vue js中的有关内容 可能会有所理解 不过有些同学可能看到这个标题之后就选择跳过了
  • rsync同步脚本

    bin bash export LANG C date date Y m d H M red echo e 033 0 31m blue echo e 033 0 36m white echo e 033 37m rsync usr bin
  • 解决克隆虚拟机无法上网问题

    通过VMware克隆出来一台linux的虚拟机 但是发现没有办法上网 然后上网查 原来是在linux中有唯一标识网卡的UUID 我们是通过克隆过来的 那么他们的UUID MAC地址和IP地址都相同了 所以导致克隆出来的机子没有办法上网 下面
  • access对比数据_数据分析师有理由爱Sqlserver之四-七大数据库测评Sqlserver胜出

    虽说各家数据库产品大同小易 学会一家 其他家都可以很快上手 但和编程语言的选择一样 人的精力有限下 只能深入研究一家的产品 故在学习之前 认真去评估应该选择哪一家数据库学习 这样的时间也很值得 总比学到一半不断地更换不同产品所浪费的时间好得
  • 一类学习(OCSVM)

    20201102 0 引言 我记得我第一次接触一类学习的时候 是在一本讲解异常流量的书上 大概18年的时候 当时有一个需求 就是所处的场景下 只能拥有一类数据 而其他类的数据 要不获取不到 要不获取了也不具备什么代表性 总体上就是这么一个场
  • VTK和Cmake的安装并运行一个vtk的案例

    VTK的安装并运行一个项目 1 CMAKE安装 要安装VTK的话首先需要安装CMAKE CMAKE的官网 https cmake org download 进入Cmake下载网页 可以看到很多版本 我们选择最新的 在文件列表中 我们选择最便
  • Java之类与对象

    作者简介 zoro 1 目前大一 正在学习Java 数据结构等 作者主页 zoro 1的主页 欢迎大家点赞 收藏 加关注哦 目录 初始面向对象 什么是面向对象 面向对象和面向过程区别 类的定义和使用 什么是类 类的定义 类的实例化 什么是类
  • 关于绘图的卡顿解决方案

    在Android应用中 cocos的渲染和js的逻辑是在gl线程中进行的 而android本身的UI更新是在app的UI线程进行的 所以如果我们在js中调用的Java方法有任何刷新UI的操作 都需要在UI线程进行 如果画板的控件继承于Vie
  • Redis6+PHP:实现根据经纬度计算出附近门店距离

    一 开始介绍 Redis GEO 1 Redis GEO 主要用于存储地理位置信息 并对存储的信息进行操作 该功能在 Redis 3 2 版本新增 Redis GEO 操作方法 geoadd 添加地理位置的坐标 geopos 获取地理位置的
  • CloudCompare——泊松重建

    目录 1 简介 2 利用输出密度 3 相关代码 博客长期更新 本文最近更新时间为 2023年8月10日 1 简介 算法原理见 泊松重建算法原理介绍 qPoissonRecon是 Poisson Surface Reconstruction
  • 单片机原理概念

    参考 单片机原理概念 作者 爱学习的小王呀 发布时间 2020 11 27 08 58 08 网址 https blog csdn net hongliwong article details 110219821 spm 1001 2014
  • SCL教程之如何使用SCL创建简单控制程序

    最近有不少朋友都对SCL编程感兴趣 网上的相关资料又较少今天我就为大家简单介绍一下如何使用SCL创建简单程序 1 首先我要先说明一下使用STEP7 或 PCS7都可以进行SCL编程 其编程方式与TIA的编程方式类似 但是语法稍有不同 今天我
  • vue+a-form 动态表格,动态增加动态删除

    思路借鉴了一位大佬的文章 原文地址如下 版权声明 本文为qq 42203909原创文章 遵循 CC 4 0 BY SA 版权协议 转载请附上原文出处链接和本声明 本文链接 antd实现动态增减表单项 支持赋初始值 首先是封装子组件 自己起个
  • ios 启动执行初始化

    UIViewController 分为下面三种情形创建 依次调用的方法 顺序如下 1 StoryBoard 1 initWithCoder 2 awakeFromNib 3 loadView 4 viewDidLoad 2 Xib 1 in
  • 模型保存的两种类型torch.save

    torch save model model face pt 一个常见的PyTorch函数是使用 pt文件扩展名来保存张量 model是我训练后的模型 后面的参数 model face pt 就是我模型保存的类名 存放同一文件夹下 当然可以
  • 数据库系统教程(第二版何玉洁)课后数据库上机实验答案

    附录C 上机实验 C 1 第4章上机实验 陈宇超 仅供参考 下列实验均使用SQL Server 的SSMS工具实现 1 用图形化方法创建符合如下条件的数据库 创建数据库的方法可参见本书附录A l 数据库名为 学生数据库 l 主要数据文件的逻
  • 常用的java虚拟机参数_Java虚拟机参数分析 - PerfMa

    参数查询 支持查询一到多个 JVM 参数 向用户展示每个 JVM 参数的详细信息 包括含义 用法等 并可查看社区对此参数的相关讨论 支持两种输入格式 直接输入一个或多个参数名 示例 Xms Xmx Xmn Xss MaxPermSize M

随机推荐

  • 超详细的OpenCV入门教程,12小时带你吃透OpenCV。

    OpenCV简介 OpenCV是一个基于Apache2 0许可 开源 发行的跨平台计算机视觉和机器学习软件库 可以运行在linux Windows Android和MAC OS操作系统上 1 它轻量级而且高效 由一系列 C 函数和少量 C
  • vue中scoped与/deep/深度选择器原理总结

    最近在写一个vue element ui项目 使用element ui某些组件修改样式时 老是需要加上 deep 深度选择器 以前只是知道这样用 但是还不清楚他的原理 这次就来好好的梳理一下 1 首先我们需要知道css中的属性选择器 w3c
  • Introduction to Causal Inference:Chapter 1因果推断概论

    本文是学习brady neal于2020年开设的因果推断课程Introduction to Causal Inference的记录 概述 本chapter主要分四个部分 辛普森悖论 为什么相关性不是因果关系 什么展示了因果关系 在观测性研究
  • 七、PyQt5实现Python界面设计_滑块控件(QSlider)与计数器控件(QSpinBox)

    目录 一 QSlider滑块控件 1 简介 2 常用函数 3 代码演示 二 QSpinBox计数器控件 1 简介 2 常用函数 3 代码演示 一 QSlider滑块控件 1 简介 1 水平或者垂直的滑动控件 一般用来设置数字 快速滑动来调整
  • 「第二篇」全国一等奖,经验帖。

    点击上方 大鱼机器人 选择 置顶 星标公众号 福利干货 第一时间送达 阅读文本大概需要 6 分钟 0 前言 本文作者 谢斌 曾经获得2017年控制题 板球控制系统 全国一等奖 他之前有写过几篇关于比赛的文章 大家可以点击阅读 全国一等奖 他
  • 如何使用html制作网页

    如何使用html制作网页 一 html简介 1 1概念 HTML即HyperText Mark up Language 意思是超文本标记语言 HTML不是一种编程语言 而是一种标记语言 超文本指的是超链接 标记指的是标签 是一种用来制作网页
  • 如何保护单例不被反射修改?

    public class Safety private static Safety instance new Safety private Safety if instance null throw new RuntimeException
  • hadoop生态系统的详细介绍-详细一点

    前提 日常喜欢看一些微信分享的好文 总结下来 可以作为过滤器吧 节约更多人的时间 在这里引用的是别人的文章 对原文的作者表示感谢 确实写的很好 hadoop生态系统的详细介绍 简介 Hadoop是一个开发和运行处理大规模数据的软件平台 是A
  • Kafka By the sea——kafka的使用场景

    文章目录 消息队列概述 消息队列应用场景 异步处理 应用解耦 流量削锋 日志处理 消息通讯 消息中间件示例 电商系统 日志收集系统 常用消息队列 ActiveMQ Kafka 消息队列概述 消息队列中间件是分布式系统中重要的组件 主要解决应
  • js怎么做延迟函数delay

    const delay ms gt new Promise resolve reject gt setTimeout resolve ms const getData status gt new Promise resolve reject
  • 评分算法_协同过滤推荐算法:评分预测准确性评估

    纸上得来终觉浅 绝知此事要躬行 宋 陆游 冬夜读书示子聿 对于评分预测常用的准确性评测指标是均方根误差RMSE和平均绝对误差MAE RMSE 均方根误差 对大的偏差更敏感 MAE 平均绝对值误差 注意 R 表示数据集合的长度 准确性指标计算
  • PADS Router VX2.7 操作界面以及常用设置

    打开方式 直接双击Router或者从layout中打开 打开Router 右击工具栏 选择自己想要使用的工具 项目浏览器 输出窗口 电子表格 导航窗口 都在右上角 标志工具栏中 如果不小心关掉 点击即可恢复 坐标以及单位 设置在 工具栏中的
  • 聊聊软件测试的那些事

    笔者入行软件测试行业也有两年左右的时间了 这两年中 在工作中也学习 积累了一些知识 但是每每谈及理论 又好像怎么也说不清一些东西的定义 其实很多人认为 知识学习了会用就可以 但软件测试的道路上 打好基础是很重要的 有些东西你知道但无法清晰表
  • 【leetcode每日刷题】214. 最短回文串

    给定一个字符串 s 你可以通过在字符串前面添加字符将其转换为回文串 找到并返回可以用这种方式转换的最短回文串 示例 1 输入 aacecaaa 输出 aaacecaaa 示例 2 输入 abcd 输出 dcbabcd 解法 KMP算法 假设
  • BUCK电路输入电容计算

    输入电容决定了输入电压的纹波 对于Buck变换器的输入端来说 输入电流是不连续的 在开关管导通的时候会有极大的阶跃电流 芯 片 BUCK控制器 时 间 2021 04 27 说 明 适用于稳态和动态负载 在Buck变换器的输入电压最小时 满
  • Qt中自定义结构体的使用

    Qt的自定义结构体Qt是不认识的 下面就直接列出使用方法 第一步 建议把所需的结构体放在一个单独头文件中 防止头文件相互包含 gg 而且还有条件编译的头自动生成 直接向工作添加C 头文件 自己把名字取好就行了 注意 这样会在 pro中 HE
  • 【JavaScript高级】内存管理与闭包:垃圾回收GC、闭包定义、访问和执行过程、内存泄漏

    文章目录 内存管理 垃圾回收GC 引用计数 Reference counting 标记清除 mark Sweep 闭包 定义 闭包的访问和执行过程 内存泄漏 浏览器的优化 参考 内存管理 所有编程语言 在代码的执行过程中都需要给它分配内存
  • 【python】多进程multiprocessing模块、进程池的使用

    multiprocessing中的多进程Process的基本使用 在python中 进程是通过 multiprocessing 多进程模块来管理的 multiprocessing模块提供了一个Process类来创建进程对象 创建子进程 Pr
  • 【使用 BERT 的问答系统】第 2 章 :用于自然语言处理的神经网络

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • linux脚本定时调用存储过程,LINUX定时执行SHELL脚本实现DB2对存储过程的调用

    需求分析 本地化零件待办数量对应用户统计存入数据表 定时更新 使用linux的crontab定时任务来完成 1 编写存储过程 设置指向的数据库 SET SCHEMA DB2INST1 设置当前的路径 SET CURRENT PATH SYS