Informatica元数据库解析

Informatica全部的元数据信息均以数据库表的方式存到了元数据库中。当然Infa本身工具提供了非常多的人性化的功能。使我们在开发时能够非常方便的进行操作。但人们的需求总是万变的。须要方便的取到自己须要的信息,那就须要我们对他的元数据库有非常深的了解。
Informatica
通过表和视图给我们提供着全部的信息,在此将通过一个系列的帖子。将大部分常见的,且很实用的表及视图介绍一下。基于这些东西。我们即能够依据不同的需求查出自己须要的数据,也能够开发一些辅助的Infa应用程序。

OPB_ATTR:
INFORMATICA(Designer,Workflow)设计时及server设置的全部属性项的名称,当前值及
该属性项的简要说明
比如:ATTR_NAME:TracingLevel
ATTR_VALUE:2
ATTR_COMMENT:Amountofdetailinthesessionlog
用途:能够通过该表高速查看到设计或设置时碰到的一些属性项的用途与说明

OPB_ATTR_CATEGORY:
INFORMATICA各属性项的分类及说明
比如:CATEGORY_NAME:FilesandDirectories
DESCRIPTION:Attributesrelatedtofilenamesanddirectorylocations
用途:查看上表所提的属性项的几种分类及说明

OPB_CFG_ATTR:
WORKFLOWMANAGER中的各个Folder下的SessionConfiguration的配置数据,每一个配置相应表中一组Config_Id同样的数据,一组配置数据共23
比如:ATTR_ID:221
ATTR_VALUE:$PMBadFileDir

用途:查看全部的SessionConfiguration的配置项及值,并方便的进行各个不同Folder间的配置异同比較

OPB_CNX:
WORKFLOWMANAGER中关于源、目标数据库连接的定义,包含RelationalConnection,QueueConnection,LoaderConnection
比如:OBJECT_NAME:Orace_Source
USER_NAME:oral
USER_PASSWORD:`?53S{$+*$*[X]
CONNECT_STRING:Oratest

用途:查看在WorkFlowManager中进行配置的全部连接及其配置数据

OPB_CNX_ATTR:
上表所记录的全部数据库连接的一些相关属性值。一种属性值一条数据。比如对于RelationalConnection类的连接,有附加三个属性,相应该表则有三条记录。分别记录其RollbackSegment,EnvironmentSQL,EnableParallelMode的属性值,分别相应ATTR_ID10,11,12
比如:OBJECT_ID:22
ATTR_ID:10
ATTR_VALUE:1
(代表EnableParallelMode为选中)
VERSION_NUMBER:1

用途:查看全部配置好的连接的相关属性值,及一些环境SQL及回滚段设置,方便统一查看及比較
OPB_DBD:
INFORMATICADESIGNER中全部导入的源的属性及位置
比如:DBSID:37
DBDNAM:DSS_VIEW
ROOTID:37
用途:关联查看全部源的属性
OPB_DBDS:
INFORMATICAMAPPING中所引用的源,即Mapping与上表中源的相应关系
比如:MAPPING_ID:3
DBD_ID:4
VERSION_NUMBER:1
用途:查看一个定义了的源被哪些Mapping引用过,作为他的源或给出Mapping名,依据OPB_MAPPING表关联,能够查看该Mapping引用到哪些源
OPB_EXPRESSION:
INFORMATICADESIGNER中全部定义了的表达式
比如:WIDGET_ID:1003
EXPRESSION:DECODE(IIF(TYPE_PLAN!=’05′,1,0),1,QTY_GROSS,0)
用途:通过与OPB_WIDGET表关联。查看整个元数据库中的全部Expression转换模块中的表达式定义
OPB_EXTN_ATTR:
WORKFLOWMANAGER中的EditTasks时的Mapping页中,选中Targets时,其相关属性的设置值。每一个属性值一条记录。
比如:ATTR_ID:2
ATTR_VALUE:ora_test1.bad

用途:通过关联直接查看全部Session的相关目标表数据载入设置
OPB_FILE_DESC:
INFORMATICA中全部文本文件的读入规则定义。如分隔符等
比如:STR_DELIMITER:11,
FLD_DELIMITER:9,44,0
CODE_PAGE:936
用途:查看系统中不同的文本的规则定义

Informatica元数据库解析(二)

Informatica的元数据包含了我们在开发与配置时所碰到的全部数据,当然理论上我们能够通过直接改动数据库值来更改设置,但列出这些表的用途。仅是给大家一个查看信息的简便方法,即使对元数据库非常熟了,也强烈建议不要直接改动元数据表的值。而应该通过Informatica工具来进行更改。

OPB_GROUPS:
INFORMATICA中全部组的定义
比如:GROUP_ID:2
GROUP_NAME:Administrators

用途:查看当前系统中所设置的全部组

OPB_MAPPING:
INFORMATICA中全部Mapping的存储,并存储着Mapping的一些如最后一次存储时间、说明等属性信息
比如:MAPPING_NAME:m_PM_COUNT_BILL
MAPPING_ID:1521
LAST_SAVED:03/27/200620:00:24
用途:这张表的用途很大,能够通过本表数据的查询。得出如某个时间以后改动过的所
Mapping,全部失效了的Mapping。这个表的更大作用是和其它表作关联,得出
很多其它Mapping相关的信息
OPB_MAP_PARMVAR:
INFORMATICAMapping的全部參数的定义,及其初始值等相关信息
比如:MAPPING_ID:1538
PV_NAME:$$DP_ENABLE_RAND_SAMPLING
PV_DEFAULT:0
用途:查看系统作所设置的全部參数信息。与OPB_MAPPING关联能够依据所给出的
Mapping
名查看该Mapping下所设置的全部參数信息

OPB_METAEXT_VAL:
IINFORMATICA元数据扩展信息。记录了在设计中,所扩展的全部元数据相关信息
下面是某个Session的元数据扩展
比如:METAEXT_NAME:COMMENT
OBJECT_TYPE:68(Session)
PM_VALUE:TheLink’sMainTable,DesignbyJack

用途:查看在设计中全部扩展了的元数据信息,通过关联能够查看指定对象的元数据扩展信
息,帮助集中查看了解设计过程中的一些信息

OPB_OBJECT_TYPE:
INFORMATICA设计中全部对象的定义表
比如:OBJECT_TYPE_ID:1
OBJECT_TYPE_NAME:SourceDefinition
用途:能够查看到如今INFOMATICA所定义了的全部对象。可作为其它表的关联维表,查看某个对象的全部相关信息

OPB_PARTITION_DEF:
SESSION中全部的PARTITION定义
比如:SESSION_ID:2578
PARTITION_NAME:Partition#1
用途:通过关联,依据Session的名称。查出该Session所包括的全部Partition设置

OPB_REPOSIT:
INFORMATICAREPserver配置相关信息
比如:DATAVERSION:5002
PEPOSIT_NAME:hnsever
用途:查看INFORMATICAREPserver配置信息

OPB_REPOSIT_INFO:
INFORMATICAREP数据库连接配置信息
比如:REPOSITORY_NAME:TEST-REP
DB_USER:infa_user
DB_NATIVE_CONNECT:infa_conn
HOSTNAME:hnsever
PORTNUM:5001
用途:查看INFORMATICAREPserver数据库连接配置信息

OPB_SCHEDULER:
WORKFLOW中的全部SCHEDULER设置信息表
比如:SCHEDULER_ID:81
SCHEDULER_NAME:Scheduler_DAY_10
START_TIME:3/13/2005/00/20
用途:该表记录了全部的SCHEDULER信息,以及它的各项属性设置,方便总体进行考虑各个SCHEDULER间的调度配合

OPB_SERVER_INFO:
INFORMATICASEVERserver配置信息
比如:SERVER_NAME:INFA_SEVER
TIMEOUT:300
HOSTNAME:hnsever
PORT_NO:4001
IP_ADDRESS:196.125.13.1
用途:查看INFORMATICASEVERserver配置信息
OPB_SESSION:
WORKFLOW中的全部Session,记录了SessionMapping的相应关系及Session相关的一
些基本属性
比如:SESSION_ID:11
MAPPING_ID:3
用途:查看SessionMapping相应关系,通过关联得出Session名与Mapping名的相应
OPB_SESSION:
WORKFLOW
中的全部Session。记录了SessionMapping的相应关系及Session相关的一
些基本属性
比如:SESSION_ID:11
MAPPING_ID:3
用途:查看SessionMapping相应关系,通过关联得出Session名与Mapping名的相应

OPB_SESSION_CONFIG:
记录了WORKFLOW中全部SessionConfig配置信息
比如:CONFIG_NAME:default_session_config
COMMENTS:Defaultsessionconfigurationobject 

用途:查看当前系统中全部配置了的SessionConfig信息

OPB_SESS_FILE_REF:
INFORMATICA抽取过程中的全部FlatFileSession的相关关系定义
比如:SESSION_ID:682
FILE_ID:66
用途:查看整个系统中的FlatFile源的相关情况/////////////////////////////////////////////////////////////////////////////

OPB_SESS_FILE_VALS:
系统中全部FlatFile文件的详细情况。包含文件名称、路径等
比如:SESSION_ID:1560
FILE_NAME:PTM_LU_CHILD.txt
DIR_NAME:$PMSourceFileDirPTM
用途:通过关联能够查看到Session相关的Flat文件名称及其路径。以及查看系统全部相关Flat文件及统计/////////////////////////////////////////////////////////////////////////////

OPB_SESS_TASK_LOG:
这是INFORMATICA对于Session执行的全部日志的信息记录,而且记录下Session的出错情况。


比如:INSTANCE_ID:6
MAPPING_NAME:m_ASSET_SUB_ACCOUNT
LOG_FILE:C:ProgramFiles……s_ASSET_SUB_ACCOUNT.log
FIRST_ERROR_MSG:Noerrorsencountered.
用途:这是在查Session执行情况的终于要的表之中的一个。能够最简便的得到Session是否执行正常及当初错时的首个错误简要信息,以及日志文件的位置

OPB_SRC:
INFORMATICADESIGNER中所定义的全部源
比如:SRC_ID:12
SUBJ_ID:27
FILE_NAME:AM_EQP_ASSESS
SOURCE_NAME:AM_EQP_ASSESS
用途:通过Subj_Id的关联。能够查出每一个Folder中全部定义了的源

OPB_SRC_FLD:
INFORMATICA中源表的全部字段的定义
比如:FLDID:82
SRC_ID:12
SRC_NAME:FLAG_ID
用途:关联上表,得出该源表的全部字段,及其定义和相关属性值

OPB_SRV_LOC_VARS:
INFORMATICA系统server配置中,全部的系统变量及变量的当前值
比如:VAR_ID:13
VAR_NAME:$PMRootDir
VAR_VALUE:D:ProgramFilesInformaticaPowerCenter7.1.1Server
用途:查看当前server的全部系统变量及其当前值

OPB_SUBJECT:
INFORMATICA中全部主题定义,即全部Folder的定义及相关属性
比如:SUBJ_NAME:OAM
SUBJ_ID:2
GROUP_ID:3
用途:FolderID是其它非常多表的外键,作为其它表的关联,能够查看该Folder下的全部相关对象信息

OPB_SWIDGET_INST:
记录一个Session中所用到的Mapping引用到的全部对象及其相关属性,即细到每一个转化模块一条记录
比如:SESSION_ID:11
MAPPING_ID:3
INSTANCE_NAME:LKP_OTHER_CHECK11
PARTITION_TYPE:1
用途:查看每一个Session所引用到的全部对象。及其当前的属性值

OPB_SWIDGINST_LOG:
INFORMATICA执行后,全部执行了的Session中相关源及目标对象的执行日志。即执行的时间,抽取的数据成功条数等
比如:TASK_INSTANCE_ID:92
PARTITION_ID:1
PARTITION_NAME:Partition#1
WIDGET_NAME:SQ_SHIFT_CODE
APPLIED_ROWS:723
START_TIME:2004-11-48:48:12
END_TIME:2004-11-48:48:31
用途:这是INFORMATICA执行后,对每一个对象的执行情况的最具体的日志记录。对于数据正确性的检查,性能的调优等有着非常重要的參考价值

OPB_SWIDG_GROUP:
INFORMATICADESIGNERUnion_Transformation模块上的全部Group的定义表
比如:SESSION_ID:1410
GROUP_NAME:PM_GROUP1
用途:该表单独记录了Union_Transformation模块上全部设置了的Group,能够通过关联查出一个Session上全部的UnionGroup定义
OPB_TABLE_GROUP:
INFORMATICADESIGNERRouterTransformation模块上的全部Group的定义表.
比如:OBJECT_ID:3409
ATTR_VALUE:FROM_ID=’xx’
用途:该表单独记录了RouterTransformation模块上全部设置了的Group。以及Group的分组条件。能够通过关联查处出一个MappingRouter的全部分组设置及其分组条件
OPB_TARG:
INFORMATICADESIGNER中全部目标表的定义
OPB_TABLE_GROUP:
INFORMATICADESIGNERRouterTransformation模块上的全部Group的定义表.
比如:OBJECT_ID:3409
ATTR_VALUE:FROM_ID=’xx’
用途:该表单独记录了RouterTransformation模块上全部设置了的Group,以及Group的分组条件,能够通过关联查处出一个MappingRouter的全部分组设置及其分组条件
OPB_TARG:
INFORMATICADESIGNER中全部目标表的定义
比如:TARGET_ID:3
SUBJ_ID:2
TARGET_NAME:HAM_DEPT
用途:该表存储了全部的目标表定义,通过关联能够查出某个Folder下全部的目标表定义
OPB_TARGINDEX:
INFORMATICA中对目标表,可进行Index的定义。该表存储了全部目标表Index的定义
比如:TARGET_ID:1626
INDEXNAME:IDX_AUDIT 

用途:查出全部在INFORMATICA中进行的Index定义,及相关目标表信息
OPB_TARGINDEXFLD:
INFORMATICA中目标表上进行了Index定义的相关的全部字段
比如:INDEXID:6
FLDNAME:AREC_BILL_ID
用途:进行关联查出在INFORMATICA中进行了Index定义的表及其字段
OPB_TARG_FLD:
INFORMATICA中全部目标表的字段信息
比如:TARGET_ID:131
TARGET_NAME:CHECK_PROPERTY
用途:查看目标表的全部字段信息,或给出字段名。查找该字段在那些目标表中出现过
OPB_TASK:
WORKFLOW中全部Task的记录,包含SessionWorkletWorkFlow
比如:TASK_ID:1717
TASK_NAME:s_OAM_LOG_ARR
用途:该表是Workflow关于Task的记录的主表,通过关联能够查出某个folder下所包括的全部WorkflowWorkletTask等,以及查出一个Workflow下的全部Task
OPB_TASK_ATTR:
该表记录了Task的全部属性值,每一个属性一条记录
比如:ATTR_ID:2
ATTR_VALUE:s_AM_ASSET_TYPE.log 

用途:查看相关Task的属性设置,查找系统中同一属性设置的全部Task
OPB_TASK_INST:
Task实例表,与OPB_TASK表信息类似。但该表主要突出的是WorkflowTask的关系,而OPB_TASK表是Task的基表
比如:WORKFLOW_ID:9
INSTANCE_NAME:s_USED_KIND
用途:查找一个Workflow下的全部Task信息
OPB_TASK_INST_RUN:
该表记录了全部Task每次执行的日志信息,包含当前的执行起始时间,服务名等
比如:INSTANCE_NAME:s_ASSET_ACCOUNT
START_TIME:2004-11-315:20:01
END_TIME:2004-11-315:20:08
SERVER_NAME:ETL-SVR
用途:该表记录了Task每次执行的日志信息,当中关于时间的信息对于性能调优有着极其关键的数据,也能够观察同一个Task,一段时间的执行效果,评估server的执行情况等
OPB_TASK_VAL_LIST:
该表记录了某些Task中的属性值,比如CommandTask中的Command
比如:TASK_ID:2990
PM_VALUE:DEL“D:FILE_LIST.TXT”
VAL_NAME:DELETE
用途:能够查看当前系统中设置的任务属性值。也可查看全部的Command的命令值
OPB_USERS:
该表记录了RepManager中所设置的全部用户。及其相关属性
比如:USER_ID:5
USER_NAME:DEMO
USER_PASSWD:hG63″4$7.`
USER_PRIVILEGES1:79
用途:能够查看系统中INFORMATICA所定义了的全部用户及相关属性
OPB_USER_GROUPS:
该表记录了RepManager中用户与组的关系
比如:USER_ID:2
GROUP_ID:3
用途:查看一个组中存在哪些用户,或关联出每一个用户究竟属于哪个组
OPB_VALIDATE:

该表纪录DesignerWorkflowManager中设计开发时。全部Validate的信息

比如:OBJECT_ID:4

INV_COMMENTS:Replacedsource[V_RCT_CREDIT]duringimport.

用途:查看同一个对象的历史Validate信息。查看对象的改动历程
OPB_VERSION_PROPS:

该表纪录了系统中各种对象的当前版本号信息,最后的改动时间。包含最小到各个Mapping中的各个模块的当前版本号信息。


OPB_VALIDATE:
该表纪录DesignerWorkflowManager中设计开发时。全部Validate的信息

比如:OBJECT_ID:4

INV_COMMENTS:Replacedsource[V_RCT_CREDIT]duringimport.

用途:查看同一个对象的历史Validate信息,查看对象的改动历程
OPB_VERSION_PROPS:

该表纪录了系统中各种对象的当前版本号信息,最后的改动时间。包含最小到各个Mapping中的各个模块的当前版本号信息。

比如:OBJECT_ID:5

OBJECT_NAME:FLT_CLM_BDL

LAST_SAVED:08/20/200622:52:29

用途:查看系统中各模块对象的最后更改时间。
OPB_WFLOW_VAR:

该表纪录了Workflow的中,各个系统变量的定义,是Workflow设计过程中,全部各模块间系统变量的设计纪录

比如:SUBJECT_ID:2

VAR_NAME:ErrorMsg

VAR_DESC:Errormessageforthistask’sexecution

LAST_SAVED:08/20/200622:38:41

用途:查看Workflow中对应的系统变量的设计
OPB_WIDGET:

该表是全部Mapping中的全部转换模块的基础信息表,记录了每一个转换模块的基础信息

比如:WIDGET_NAME:AGG_PIM_RES

WIDGET_TYPE:9

IS_REUSABLE:0

用途:能够与其它表进行关联,按条件查出须要各个基础的转换模块
OPB_WIDGET_ATTR:

该表是OPB_WIDGET的子表。记录了每个转换模块的各种属性值。一个模块的一个属性占一条记录。

比如:WIDGET_ID:2

WIDGET_TYPE:11

ATTR_VALUE:$PMCacheDir

用途:该表纪录了全部的转换模块的全部属性值。是在做某属性查找时很实用的一个基础表,通过与其它表的关联就可以得出同一设置的全部转换模块的信息
OPB_WIDGET_FIELD:

该表纪录了各个转换模块中全部字段的定义

比如:WIDGET_ID:4

FIELD_NAME:IN_PL_CD

WGT_PREC:10

WGT_DATATYPE:12

用途:能够实现对某个字段名称的统计与查找

OPB_WORKFLOW:

该表是Workflow定义的一个基表,记录下Workflow的关系信息

比如:WORKFLOW_ID:6

SERVER_ID:0

SCHEDULER_ID:3

用途:该表主要能够用于作关于Workflow的各种相关查找的关联表
REP_DB_TYPES:

该表记录了INFA所支持的数据库的类型

比如:DATYPE_NUM:3
DATYPE_NAME:ORACLE
用途:该表是系统的一个基础代码表,用于显示INFA所支持的全部数据库类型
REP_FLD_DATATYPE:
该表记录了INFA所支持的各种数据类型以及INFA所支持的各种数据库的数据类型
比如:DTYPE_NUM:3001
DTYPE_NAME:char
DTYPE_DATABASE:ORACLE
用途:该表是系统的一个基础代码表。用于显示INFA所支持的全部数据类型
REP_SRC_KEY_TYPES:
该表记录了INFA在源定义中所设定的全部键值类型

比如:KEYTYPE_NUM:1

KEYTYPE_NAME:PRIMARYKEY

用途:该表是系统的一个基础代码表,用于显示INFA源设计中。全部支持的键值类型
REP_TARG_KEY_TYPES:

该表记录了INFA在目标定义中所设定的全部键值类型

比如:KEYTYPE_NUM:2

KEYTYPE_NAME:FOREIGNKEY

用途:该表是系统的一个基础代码表,用于显示INFA目标设计中,全部支持的键值类型
REP_TARG_TYPE:

该表记录了INFA的目标表类型

比如:TARGET_TYPE:1

TYPE_NAME:DIMENSION

用途:表是系统的一个基础代码表,用于显示INFA设计中。全部支持的目标表类型

样例:

基于元数据库的应用能够满足非常多infa没有提供的东西,比方须要查整个系统中,给出一个表名。查找全部引用其作为LKP表的mapping,这种需求,假设不通过元数据库去查,那仅仅有一个一个Mapping去点了。


下面这个SQL,就可以完毕这种查找。
select A.MAPPING_NAME,e.INSTANCE_NAME
  from REP_WIDGET_INST E, rep_widget_attr t,OPB_MAPPING A
where t.ATTR_VALUE = 'XXXX'      
   AND t.WIDGET_TYPE = 11
   AND t.ATTR_NAME = 'Lookup table name'
   AND T.WIDGET_ID = E.WIDGET_ID AND E.MAPPING_ID= A.MAPPING_ID

 

 样例:WorkFlow运行消息

 

selects.subj_nameasfolder_name,w.workflow_run_id,w.workflow_name,

       t.task_name,to_char(t.start_time,'YYYY-MM-DD HH24:MI')asetl_time,

       (t.end_time -t.start_time) *24 *60 *60asrun_seconds,

       round((t.end_time - t.start_time) *24 *60)asrun_minutes,

       t.run_err_code,t.run_err_msg

  from opb_task_inst_runt,opb_wflow_runw,opb_subjects

 wheret.workflow_run_id =w.workflow_run_id

   andw.subject_id =s.subj_id

    orderbyt.start_time

 很多其它内容在www.infocool.net

 转载请注明出处http://blog.csdn.net/wolaiye320/article/details/51095994

 

posted on 2017-08-14 21:57  ljbguanli  阅读(959)  评论(0编辑  收藏  举报