Informatica元数据库解析

来源:互联网 发布:科比vs杜兰特交手数据 编辑:程序博客网 时间:2024/06/05 10:40

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

OPB_ATTR:
INFORMATICA(Designer,Workflow)设计时及服务器设置的所有属性项的名称,当前值及
该属性项的简要说明
例如: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:
INFORMATICAREP服务器配置相关信息
例如:DATAVERSION:5002
PEPOSIT_NAME:hnsever
用途:查看INFORMATICAREP服务器配置信息

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

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

OPB_SERVER_INFO:
INFORMATICASEVER服务器配置信息
例如:SERVER_NAME:INFA_SEVER
TIMEOUT:300
HOSTNAME:hnsever
PORT_NO:4001
IP_ADDRESS:196.125.13.1
用途:查看INFORMATICASEVER服务器配置信息
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系统服务器配置中,所有的系统变量及变量的当前值
例如:VAR_ID:13
VAR_NAME:$PMRootDir
VAR_VALUE:D:ProgramFilesInformaticaPowerCenter7.1.1Server
用途:查看当前服务器的所有系统变量及其当前值

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,一段时间的运行效果,评估服务器的运行情况等
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

 

0 0