INFORMATICA 的元数据管理之二:运行状态信息查询
本项目里的两个哥们做的关于运行状态元数据的两个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 的元数据管理之二:运行状态信息查询的更多相关文章
- informatica中元数据管理
摘自: http://blog.itpub.net/28690368/viewspace-766528/ informaica是一个很强大的ETL工具,WORKFLOW MANAGER负责对ETL调度 ...
- 使用Atlas进行元数据管理之容错和高可用
1. 介绍 Apache Atlas使用各种系统并与之交互,为数据管理员提供元数据管理和数据血缘信息.通过适当地选择和配置这些依赖关系,可以使用Atlas实现高度的服务可用性.本文档介绍了Atlas中 ...
- linux磁盘管理系列二:软RAID的实现
磁盘管理系列 linux磁盘管理系列一:磁盘配额管理 http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_040_quota.html l ...
- HDFS元数据管理机制
元数据管理概述 HDFS元数据,按类型分,主要包括以下几个部分: 1.文件.目录自身的属性信息,例如文件名,目录名,修改信息等. 2.文件记录的信息的存储相关的信息,例如存储块信息,分块情况,副本个数 ...
- 垃圾回收GC:.Net自己主动内存管理 上(二)内存算法
垃圾回收GC:.Net自己主动内存管理 上(二)内存算法 垃圾回收GC:.Net自己主动内存管理 上(一)内存分配 垃圾回收GC:.Net自己主动内存管理 上(二)内存算法 垃圾回收GC:.Net自己 ...
- 元数据管理的重要性 - xms
什么是元数据?引用百科的描述就是:元数据(Metadata),又称中介数据.中继数据,为描述数据的数据(data about data),主要是描述数据属性(property)的信息: 看起来有点抽象 ...
- TiKV 在京东云对象存储元数据管理的实践
京东云对象存储是在 2016 年作为公有云对外公开的,主要特点是可靠.安全.海量.低成本,应用于包括一些常用的业务场景,比如京东内部的京东商城视频/图片云存储,面向京东云公有云外部的开发者的服务,和面 ...
- Spring Boot从入门到精通(八)日志管理实现和配置信息分析
Spring Boot对日志的处理,与平时我们处理日志的方式完全一致,它为Java Util Logging.Log4J2和Logback提供了默认配置.对于每种日志都预先配置使用控制台输出和可选的文 ...
- 【收藏】关于元数据(Metadata)和元数据管理,这是我的见过最全的解读!
本文主要从元数据的定义.作用.元数据管理现状.管理标准和元数据管理功能等方面讲述了我对元数据(Metadata)和元数据管理的认知及理解. 元数据管理 一.元数据的定义 按照传统的定义,元数据(Met ...
随机推荐
- 错误:Could not create the Android package. See the Output (Build) window for more details
错误:Could not create the Android package. See the Output (Build) window for more details. Mono For An ...
- 经常报错:Communications link failure
连接池配置中配上:<property name="validationQuery" value="SELECT 1 FROM DUAL" />
- saltstack系统初始化(九)
一.系统初始化需要的配置 当我们的服务器上架并安装好操作系统后,都会有一些基础的操作,所以生产环境中使用SaltStack,建议将所有服务器都会涉及的基础配置或者软件部署归类放在base环境下.此处, ...
- 在phpWeChat中生成公众号 jssdk 各个参数(PHP)
<?php //jsapipara $jsapipara=array(); $jsapipara['appid']=WECHAT_APPID; $jsapipara['noncestr']=cr ...
- Scrapy实战篇(四)之周杰伦到底唱了啥
从小到大,一直很喜欢听周杰伦唱的歌,可是相信很多人和我一样,并不能完全听明白歌词究竟是什么,今天我们就来研究一下周董最喜欢在歌词中用的词,这一小节的构思是这样的,我们爬取周杰伦的歌词信息,并且将其进行 ...
- Hibernate 悲观锁(Pessimistic Locking)
在日常开发中并发应该是比较常遇到的业务场景,Hibernate给我们提供了并发操作,接下来简单介绍一下Hibernate悲观控制. 悲观锁:用户其实并不需要花很多精力去担心锁定策略的问题,通常情况下, ...
- 数位dp小结以及模板
这里是网址 别人的高一啊QAQ.... 嗯一般记忆化搜索是比递推好写的所以我写的都是dfs嗯......(因为我找不到规律啊摔,还是太菜.....) 显然这个东西的条件是非常的有套路..但是不管怎么样 ...
- Week One
2018.11.21: 1.[BZOJ 4868][SHOI 2017] 从后往前枚举最后位置即可,如果$A<B$,用尽可能多的$A$替换$B$操作 Tip:很大的$C$可能爆$longlong ...
- 字符约束条件的SQL注入攻击
引言 目前值得高兴的是,开发者在建立网站时,已经开始关注安全问题了——几乎每个开发者都知道SQL注入漏洞了.在本文中,我将为读者介绍另一种与SQL数据库相关的漏洞,虽然它的危害性与SQL注入不相上下, ...
- hibernate核心及常用技术
一.hibernate介绍 1.hibernate概述 hibernate是轻量级Java EE持久层解决方案,管理java类到数据库表的映射(ORM:对象关系型数据映射),并提供数据查询获取的方法. ...