本项目里的两个哥们做的关于运行状态元数据的两个JOB挺酷的,最近一段时间运行状况良好,自己参考学习的同时以做日志记载,呵呵,为了节省笔墨,相关元数据表结构以及MAPPING设计之类不做介绍(如有疑问欢迎留言探讨),仅对思路做以梳理如下:

  1. 通过WKF ID和TASK ID关联对应WKF,TAST,从而形成关于SESSION运行状态报表如下:

SELECT OPB_SUBJECT.SUBJ_NAME,

OPB_WFLOW_RUN.WORKFLOW_NAME,

OPB_TASK_INST_RUN.INSTANCE_NAME,

to_char(OPB_TASK_INST_RUN.START_TIME,'yyyy-mm-dd HH24:mi:ss') START_TIME,

to_char(OPB_TASK_INST_RUN.END_TIME,'yyyy-mm-dd HH24:mi:ss') END_TIME,

OPB_TASK_INST_RUN.RUN_ERR_MSG,

OPB_TASK_INST_RUN.TASK_NAME,

OPB_SWIDGINST_LOG.INSTANCE_NAME  INSTANCE_NAME_LOG,

OPB_SWIDGINST_LOG.WIDGET_TYPE,

APPLIED_ROWS                      SUCCESSFUL_ROWS,

AFFECTED_ROWS                     SUCCESSFUL_AFFECTED_ROWS,

REJECTED_ROWS                     FAILED_ROWS,

REPLACE(LAST_ERR_MSG,Chr('44'),Chr('35'))                      LAST_ERROR

FROM INFREP_V8.OPB_TASK_INST_RUN OPB_TASK_INST_RUN, INFREP_V8.OPB_WFLOW_RUN OPB_WFLOW_RUN, INFREP_V8.OPB_SUBJECT OPB_SUBJECT, INFREP_V8.OPB_SWIDGINST_LOG OPB_SWIDGINST_LOG

WHERE OPB_SUBJECT.SUBJ_ID = OPB_TASK_INST_RUN.SUBJECT_ID

AND OPB_WFLOW_RUN.WORKFLOW_ID = OPB_TASK_INST_RUN.WORKFLOW_ID

AND OPB_WFLOW_RUN.WORKFLOW_RUN_ID = OPB_TASK_INST_RUN.WORKFLOW_RUN_ID

AND OPB_SWIDGINST_LOG.WORKFLOW_RUN_ID =

OPB_TASK_INST_RUN.WORKFLOW_RUN_ID

AND OPB_SWIDGINST_LOG.TASK_INSTANCE_ID = OPB_TASK_INST_RUN.INSTANCE_ID

AND OPB_SWIDGINST_LOG.WIDGET_TYPE IN (3, 2)

and trunc(OPB_TASK_INST_RUN.START_TIME) = trunc(SYSDATE-1,'DD')

  该QUERY显示的是前一天的SESSION运行状况报表,通过该报表可以系统的监控JOB的运行状况。

  2. 下面的QUERY是用来记录WKF的运行状况监控报表/

SELECT   rep_workflows.server_name, rep_workflows.subject_area,

rep_workflows.workflow_name, rep_workflows.scheduler_name,

CASE

WHEN opb_schedule_logic.user_logic_type = 1

AND opb_schedule_logic.frequency_intervl = 1

THEN 'Daily Job'

WHEN (    opb_schedule_logic.user_logic_type = 1

AND opb_schedule_logic.frequency_intervl > 1

AND opb_schedule_logic.frequency_intervl < 8

)

THEN 'Weekly Job'

ELSE 'Monthly Job'

END job_type,

REPLACE (SUBSTR (rep_workflows.start_time,

-5,

5

),

'/',

':'

) schedule_time,

CASE

WHEN opb_wflow_run.run_err_code = 0 and opb_wflow_run.end_time is not null

THEN 'Completed'

WHEN opb_wflow_run.run_err_code = 0 and opb_wflow_run.end_time is  null

THEN 'Running'

WHEN opb_wflow_run.run_err_code >= 1

THEN 'Failed'

ELSE 'Not Start'

END status,

opb_wflow_run.start_time, opb_wflow_run.end_time,

--rep_workflows.start_time,

opb_wflow_run.run_err_code

FROM rep_workflows LEFT JOIN opb_wflow_run

ON opb_wflow_run.workflow_id = rep_workflows.workflow_id

AND TRUNC (opb_wflow_run.start_time) = TRUNC (SYSDATE, 'DD')

JOIN opb_schedule_logic

ON opb_schedule_logic.scheduler_id = rep_workflows.scheduler_id

AND opb_schedule_logic.version_number IN (

SELECT MAX (l.version_number)

FROM opb_schedule_logic l

WHERE opb_schedule_logic.scheduler_id =l.scheduler_id)

WHERE rep_workflows.run_options > 1

ORDER BY 1, 2, 3

以上仅是基于SESSION和WKF级别的监控元数据利用QUERY,如果需要设为自动每天/每周生成报表需要添加源元数据表和SQLQUALIFER组件后(一般还会过滤掉成功的状态,用FILER组件)进入目标表

然后添加个MAILTAST把运行异常状态报告表每天以邮件方式发送。

INFORMATICA 的元数据管理之二:运行状态信息查询的更多相关文章

  1. informatica中元数据管理

    摘自: http://blog.itpub.net/28690368/viewspace-766528/ informaica是一个很强大的ETL工具,WORKFLOW MANAGER负责对ETL调度 ...

  2. 使用Atlas进行元数据管理之容错和高可用

    1. 介绍 Apache Atlas使用各种系统并与之交互,为数据管理员提供元数据管理和数据血缘信息.通过适当地选择和配置这些依赖关系,可以使用Atlas实现高度的服务可用性.本文档介绍了Atlas中 ...

  3. linux磁盘管理系列二:软RAID的实现

    磁盘管理系列 linux磁盘管理系列一:磁盘配额管理   http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_040_quota.html l ...

  4. HDFS元数据管理机制

    元数据管理概述 HDFS元数据,按类型分,主要包括以下几个部分: 1.文件.目录自身的属性信息,例如文件名,目录名,修改信息等. 2.文件记录的信息的存储相关的信息,例如存储块信息,分块情况,副本个数 ...

  5. 垃圾回收GC:.Net自己主动内存管理 上(二)内存算法

    垃圾回收GC:.Net自己主动内存管理 上(二)内存算法 垃圾回收GC:.Net自己主动内存管理 上(一)内存分配 垃圾回收GC:.Net自己主动内存管理 上(二)内存算法 垃圾回收GC:.Net自己 ...

  6. 元数据管理的重要性 - xms

    什么是元数据?引用百科的描述就是:元数据(Metadata),又称中介数据.中继数据,为描述数据的数据(data about data),主要是描述数据属性(property)的信息: 看起来有点抽象 ...

  7. TiKV 在京东云对象存储元数据管理的实践

    京东云对象存储是在 2016 年作为公有云对外公开的,主要特点是可靠.安全.海量.低成本,应用于包括一些常用的业务场景,比如京东内部的京东商城视频/图片云存储,面向京东云公有云外部的开发者的服务,和面 ...

  8. Spring Boot从入门到精通(八)日志管理实现和配置信息分析

    Spring Boot对日志的处理,与平时我们处理日志的方式完全一致,它为Java Util Logging.Log4J2和Logback提供了默认配置.对于每种日志都预先配置使用控制台输出和可选的文 ...

  9. 【收藏】关于元数据(Metadata)和元数据管理,这是我的见过最全的解读!

    本文主要从元数据的定义.作用.元数据管理现状.管理标准和元数据管理功能等方面讲述了我对元数据(Metadata)和元数据管理的认知及理解. 元数据管理 一.元数据的定义 按照传统的定义,元数据(Met ...

随机推荐

  1. 定期删除30天以前的elasticsearch的日志

    脚本/scripts/delete-elk.log #!/bin/bash DATE=`date -d "1 days ago" +%Y.%m.%d` ip=`ifconfig e ...

  2. JAVA编程思想读书笔记(五)--多线程

    接上篇JAVA编程思想读书笔记(四)--对象的克隆 No1: daemon Thread(守护线程) 参考http://blog.csdn.net/pony_maggie/article/detail ...

  3. spring源码分析 contextConfigLocation属性的位置

    <context-param> <param-name>contextConfigLocation</param-name> <param-value> ...

  4. Eclipse酷炫项目、最新趋势介绍

    作为Eclipse基金组织的执行董事,我需要经常审阅每一个新提交的Eclipse项目协议书.作为Eclipse的一分子,我很乐意与加入我们团队的新开发人员互动.这也是我工作中的乐趣之一.2013年,我 ...

  5. 常用排序算法的Python实现

    冒泡排序 算法思想: 对于一组需要排序的数据,对于相邻的两个数进行比较,使较大(或者较小)的数一直向后推,经过多层排序之后,使整个序列是有序的. 算法实现: def bubble_sort(L): l ...

  6. redis_NoSql数据库四大分类

    前面简单介绍了什么是NoSql,以及NoSql的应用场景,今天简单来学习一下NoSql的分类 一.KV键值对 典型的介绍:新浪(BerkeleyDB+redis).美团(redis+tair).阿里, ...

  7. input限制中文字数

    我们知道input控件有一个maxlength属性可以控制输入字符的长度,但是,它并不会识别是汉字还是其他符号,所以输入maxlength个汉字显然是不符合要求的. 为了实现对带有汉字的输入框长度控制 ...

  8. BZOJ2754 [SCOI2012]喵星球上的点名 SA+莫队+树状数组

    题面 戳这里 题解 首先先把所有给出的姓名和询问全部接在一起,建出\(height\)数组. 某个串要包含整个询问串,其实就相当于某个串与询问串的\(lcp\)为询问串的长度. 而两个后缀\(Suff ...

  9. 20162325 金立清 S2 W8 C17

    20162325 2017-2018-2 <程序设计与数据结构>第8周学习总结 教材学习内容概要 二叉查找树是一棵二叉树,对于其中的每个结点,左子树上的元素小于父结点的值,而右子树上的元素 ...

  10. windows下eclipse搭建android_ndk开发环境

    安装cygwin: 由于NDK编译代码时必须要用到make和gcc,所以你必须先搭建一个linux环境, cygwin是一个在windows平台上运行的unix模拟环境,它对于学习unix/linux ...