Datastage 从资料库抽取监控数据

前言

版本:IBM InfoSphere DataStage V11.3.1
操作系统:linux redhat 6.4
数据库版本:Oracle 11.2.0.4.0

目的

本文主要参考IBM 官网从操作数据库抽取监控数据,来通过脚本去进行日常作业维护监控。

简介

在安装 IBM InfoSphere DataStage 时,我们会手动创建或者默认(DB2),创建用户DSODB ,操作数据库 (DSODB):这是存储有关作业运行信息的操作存储库。一旦启用,每此运行作业的时候,有关该运行的数据就会存储在这里。

登录DSODB用户

该用户下表如下:
这里写图片描述

常用脚本

1.此 SQL 查询抽取在特定引擎上运行的所有作业的名称

SELECT H.HostName, --DataStage 引擎或远程系统的名称
       J.ProjectName, --工程名称
       J.JobName, --作业名称
       R.InvocationId, --对于多实例化作业,该字符串用于标识实例
       RunMajorStatus --区别已排队、正在运行和已完成的作业运行     
  FROM DSODB.JobExec J, DSODB.JobRun R, DSODB.Host H
 WHERE H.HOSTID = J.HOSTID
   AND R.JOBID = J.JOBID
   AND H.HostName = 'DWTEST';

其中RunMajorStatus 字段类型编码如下:
这里写图片描述
数据展示
这里写图片描述

2.此 SQL 查询抽取任何主机上在启动之后的某一特定时间所有作业的完整状态

SELECT H.HostName,
       J.ProjectName,
       J.JobName,
       R.InvocationId,
       S.MajorStatusName,
       CAST(R.RunStartTimeStamp AS DATE)
  FROM DSODB.JobExec           J,
       DSODB.JobRun            R,
       DSODB.Host              H,
       DSODB.RunMajorStatusRef S
 WHERE H.HOSTID = J.HOSTID
   AND R.JOBID = J.JOBID
   AND R.RunMajorStatus = S.MajorStatusCode
   AND CAST(R.RunStartTimeStamp AS DATE)>= DATE'2011-09-26'
 ORDER BY R.RunStartTimeStamp;

数据展现

这里写图片描述

3此 SQL 查询抽取所有运行过的作业的详细信息,并将运行类型显示为可以阅读的字符串

SELECT H.HostName
     , J.ProjectName
     , J.JobName
     , R.InvocationId
     , cast(R.RunStartTimeStamp as date)
     , T.RunTypeName  -- code converted to a readable name --
FROM  
       DSODB.JobExec  J
     , DSODB.JobRun  R
     , DSODB.Host  H
     , DSODB.RunTypeRef  T
WHERE  H.HOSTID = J.HOSTID
  AND  R.JOBID = J.JOBID
  AND  R.RunType = T.RunTypeCode
ORDER BY R.RunStartTimeStamp;

字段RunTypeName 类型如下

这里写图片描述

数据展现

这里写图片描述

4抽取某一特定作业运行的作业运行日志

SELECT
       CAST(L.LogTimestamp AS DATE)
     , T.LogTypeName           -- 日志事件的消息类型 --
     , L.MessageId --消息的标识字符串。例如,IIS-DSEE-TFSC-00010 或 IIS-DSTAGE-RUN-I-0158。
     , L.MessageText --记录的消息的完整文本。
FROM
       DSODB.JobExec  J
     , DSODB.JobRun  R
     , DSODB.JobRunLog  L
     , DSODB.LogTypeRef  T
WHERE  /*J.ProjectName = 'ODS'*/
  --AND  J.JobName = 'job1name'
  --  R.InvocationId = 'id'
    R.JOBID = J.JOBID
  AND  L.RUNID = R.RUNID
  AND  L.LogType = T.LogTypeCode
  AND  CAST(R.CreationTimestamp AS DATE)> DATE'2011-09-26'
ORDER BY L.EventId;

数据展现

这里写图片描述

5 此 SQL 查询抽取项目中最慢的作业(根据其最后运行)。

SELECT J.JOBNAME,
       MAX(CAST(R.RUNSTARTTIMESTAMP AS DATE)) AS LATESTRUN,
       MAX(R.ELAPSEDRUNSECS) AS MAXTIME
  FROM DSODB.JOBRUN R, DSODB.JOBEXEC J, DSODB.HOST H
 WHERE R.JOBID = J.JOBID
   AND J.HOSTID = H.HOSTID
--AND J.PROJECTNAME = 'projectname'
-- AND H.HOSTNAME = 'HOSTNAME'
 GROUP BY J.JOBNAME
 ORDER BY MAXTIME DESC;

数据展现

这里写图片描述

6 查询作业运行时间源端数据和目标数据

SELECT H.HostName,
       J.ProjectName,
       J.JobName,
       r.RUNTYPE,
       R.InvocationId,
       cast(R.RunStartTimeStamp as date),--该阶段启动的时间。
       cast(r.runendtimestamp as date),--该阶段完成的时间。如果该阶段仍在运行,该列将设为空值。
       S1.MajorStatusName,
       S2.MinorStatusName,
       TotalRowsConsumed,--源阶段链接中的所有行数总计
       TotalRowsProduced,--目标阶段链接中的所有行数总计
       R.ElapsedRunSecs --阶段所运行的时间长度(以秒计)。该时间长度是根据 StageStartTimeStamp 和 StageEndTimeStamp 列计算得出的。
  FROM DSODB.JobExec           J,
       DSODB.JobRun            R,
       DSODB.Host              H,
       DSODB.JobRunParamsView  P,
       DSODB.RunMajorStatusRef S1,
       DSODB.RunMinorStatusRef S2
 WHERE H.HOSTID = J.HOSTID
   AND R.JOBID = J.JOBID
   AND R.RUNID = P.RUNID
      --AND  P.ParamName = 'paramname' AND P.ParamValue = 'paramvalue'
   AND R.RunMajorStatus = S1.MajorStatusCode
   AND R.RunMinorStatus = S2.MinorStatusCode
   and TotalRowsProduced <>0
 ORDER BY R.RunStartTimeStamp;

数据展现

这里写图片描述

补充资料
解读 IBM InfoSphere DataStage and QualityStage Operations Console 的指标

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值