INFA9.6元數據

什麼是元數據?

1、元數據是描述數據的數據(Data about Data)。
2、可理解爲比一般意義的數據範疇更加廣泛的數據,不再僅僅表示數據的類型、名稱、值等信息,進一步提供了數據的上下文描述信息,比如數據的所屬域、取值範圍、數據間的關係、業務規則,甚至是數據的來源。
3、在分析型項目中,元數據可以幫助DW管理員和DW開發人員非常方便地找到他們所關心的數據
4、元數據是描述分析型應用內數據的結構、建立方法及流程的數據,可將其按用途的不同分爲兩類:技術元數據(Technical Metadata)和業務元數據(Business Metadata)。

select * from dba_tables t where t.owner='INFA9';

 

=======etl資料庫元數據start===========

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_ID爲10,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:
INFORMATICA中Mapping的所有參數的定義,及其初始值等相關信息
例如: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,記錄了Session與Mapping的對應關係及Session相關的一
些基本屬性
例如:SESSION_ID:11
MAPPING_ID:3
用途:查看Session與Mapping對應關係,通過關聯得出Session名與Mapping名的對應
OPB_SESSION:
WORKFLOW中的所有Session,記錄了Session與Mapping的對應關係及Session相關的一
些基本屬性
例如:SESSION_ID:11
MAPPING_ID:3
用途:查看Session與Mapping對應關係,通過關聯得出Session名與Mapping名的對應

OPB_SESSION_CONFIG:
記錄了WORKFLOW中所有Session的Config配置信息
例如:CONFIG_NAME:default_session_config
COMMENTS:Defaultsessionconfigurationobject 

用途:查看當前系統中所有配置了的SessionConfig信息

OPB_SESS_FILE_REF:
INFORMATICA抽取過程中的所有FlatFile與Session的相關關係定義
例如: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:  R資料庫定義所有
INFORMATICA中所有主題定義,即所有Folder的定義及相關屬性
例如:SUBJ_NAME:OAM
SUBJ_ID:2
GROUP_ID:3
用途:Folder的ID是其他很多表的外鍵,作爲其他表的關聯,可以查看該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:
在INFORMATICADESIGNER中Union_Transformation模塊上的所有Group的定義表
例如:SESSION_ID:1410
GROUP_NAME:PM_GROUP1
用途:該表單獨記錄了Union_Transformation模塊上所有設置了的Group,可以通過關聯查出一個Session上所有的UnionGroup定義
OPB_TABLE_GROUP:
在INFORMATICADESIGNER中RouterTransformation模塊上的所有Group的定義表.
例如:OBJECT_ID:3409
ATTR_VALUE:FROM_ID=’xx’
用途:該表單獨記錄了RouterTransformation模塊上所有設置了的Group,以及Group的分組條件,可以通過關聯查處出一個Mapping中Router的所有分組設置及其分組條件
OPB_TARG:
在INFORMATICADESIGNER中所有目標表的定義
OPB_TABLE_GROUP:
在INFORMATICADESIGNER中RouterTransformation模塊上的所有Group的定義表.
例如:OBJECT_ID:3409
ATTR_VALUE:FROM_ID=’xx’
用途:該表單獨記錄了RouterTransformation模塊上所有設置了的Group,以及Group的分組條件,可以通過關聯查處出一個Mapping中Router的所有分組設置及其分組條件
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的記錄,包括Session,Worklet,WorkFlow等
例如:TASK_ID:1717
TASK_NAME:s_OAM_LOG_ARR
用途:該表是Workflow關於Task的記錄的主表,通過關聯可以查出某個folder下所包含的所有Workflow、Worklet、Task等,以及查出一個Workflow下的所有Task
OPB_TASK_ATTR:
該表記錄了Task的所有屬性值,每個屬性一條記錄
例如:ATTR_ID:2
ATTR_VALUE:s_AM_ASSET_TYPE.log 

用途:查看相關Task的屬性設置,查找系統中同一屬性設置的所有Task
OPB_TASK_INST:
Task實例表,與OPB_TASK表信息類似,但該表主要突出的是Workflow與Task的關係,而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:

該表紀錄Designer或WorkflowManager中設計開發時,所有Validate的信息

例如:OBJECT_ID:4

INV_COMMENTS:Replacedsource[V_RCT_CREDIT]duringimport.

用途:查看同一個對象的歷史Validate信息,查看對象的修改歷程
OPB_VERSION_PROPS:

該表紀錄了系統中各種對象的當前版本信息,最後的修改時間。包括最小到各個Mapping中的各個模塊的當前版本信息。
OPB_VALIDATE:
該表紀錄Designer或WorkflowManager中設計開發時,所有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設計中,所有支持的目標表類型
 
===========etl資料庫元數據end===========

 

 

 

原文:https://blog.csdn.net/wolaiye320/article/details/51095994 

 --查看對應的文件夾裏面的任務以及源和目標
 SELECT f.subj_name AS folder_name,
 wf.task_name AS workflow_name,
 se.instance_name AS session_name,
 m.mapping_name,
 src.instance_name AS source_name,
 tgt.instance_name AS target_name
 FROM opb_subject f,
 opb_task wf,
 (SELECT workflow_id,
 instance_id,
 task_id,
 task_type,
 instance_name,
 MAX(version_number)
 FROM opb_task_inst sess
 WHERE sess.task_type = 68
 GROUP BY workflow_id,
 instance_id,
 task_id,
 task_type,
 instance_name) se,--查看各個工作流,實例,
 (SELECT session_id, mapping_id, MAX(version_number)
 FROM opb_session
 GROUP BY session_id, mapping_id) s,--查看mapp版本
 opb_mapping m,
 (SELECT mapping_id, instance_name, widget_type, MAX(version_number)
 FROM opb_widget_inst
 GROUP BY mapping_id, instance_name, widget_type) src,
 (SELECT mapping_id, instance_name, widget_type, MAX(version_number)
 FROM opb_widget_inst
 GROUP BY mapping_id, instance_name, widget_type) tgt
WHERE /*wf.is_visible = 1
 AND*/
wf.subject_id = f.subj_id
AND se.workflow_id = wf.task_id
AND wf.task_type = 71
AND se.task_id = s.session_id
AND s.mapping_id = m.mapping_id
-- AND m.is_visible = 1
AND src.mapping_id = m.mapping_id
AND src.widget_type = 1
AND tgt.mapping_id = m.mapping_id
AND tgt.widget_type = 2
--AND f.subj_id = 38

--可以查看目標表的來源 

SELECT *
 FROM opb_widget_inst w, opb_mapping m, opb_targ t
WHERE m.mapping_id = w.mapping_id
 AND t.target_id = w.widget_id
 --AND t.target_name = 'W_OFFER_D'
 AND w.widget_type = 2
--查看今天失敗的調度情況

SELECT
    RUN_DATE,
    START_TIME ,
    END_TIME,
    FOLIDER ,
    WORKFLOW,
    WORKLET_LVL3,
    WORKLET_LVL2,
    WORKLET_LVL1,
    SESSION_NAME,
    MAPPING_NAME,
    RUN_STATUS,
    SUSSESSFUL_SOURC_ROWS,
    FAILED_SOURCE_ROWS,
    SUCCCESSFUL_ROWS,
    FAILED_ROWS,
    RUN_ERR_CODE,
    RUN_ERR_MSG,
    FIRST_ERROR_CODE,
    FIRST_ERROR_MSG,
    LAST_ERROR_CODE,
    LAST_ERROR,
    SESSION_LOG_FILE,
    BAD_FILE_LOCATION
FROM (SELECT
        TRUNC(T1.START_TIME) AS RUN_DATE, --跑數日期
        T1.START_TIME AS START_TIME, --開始時間
        T1.END_TIME AS END_TIME, --結束時間
        T.SUBJECT_AREA AS FOLIDER, --FOLDER
        T.WORKFLOW_NAME AS WORKFLOW, --WORKFLOW
        T4.INSTANCE_NAME AS WORKLET_LVL3, --大爺級WORKLET
        T3.INSTANCE_NAME AS WORKLET_LVL2, --爺爺級WORKLET
        T2.INSTANCE_NAME AS WORKLET_LVL1, --父級WORKLET
        T1.INSTANCE_NAME AS SESSION_NAME, --SESSION
        decode(T1.RUN_STATUS_CODE,
                1,'Succeeded',
                2,'Disabled',
                3,'Failed',
                4,'Stopped',
                5,'Aborted',
                6,'Running',
                7,'Suspending',
                8,'Suspended',
                9,'Stopping',
                10,'Aborting',
                11,'Waiting',
                12,'Scheduled',
                13,'Unscheduled',
                14,'Unknown',
                15,'Terminated'
            ) as RUN_STATUS, --運行狀態
        T1.RUN_ERR_CODE RUN_ERR_CODE, --錯誤代碼
        T1.RUN_ERR_MSG RUN_ERR_MSG, --錯誤信息
        T.FIRST_ERROR_CODE, --第一次發生錯誤的代碼
        T.FIRST_ERROR_MSG, --第一次發生錯誤的信息
        T.LAST_ERROR_CODE, --最後發生錯誤的代碼
        T.LAST_ERROR, --最後發生錯誤的信息
        T.SESSION_LOG_FILE, --SESSION LOG路徑
        T.BAD_FILE_LOCATION, --BAD_FILE路徑
        T.MAPPING_NAME MAPPING_NAME, --MAPPING
        T.SUCCESSFUL_SOURCE_ROWS SUSSESSFUL_SOURC_ROWS, --讀取源成功條數
        T.FAILED_SOURCE_ROWS FAILED_SOURCE_ROWS, --讀取源失敗條數
        T.SUCCESSFUL_ROWS SUCCCESSFUL_ROWS, --插入目標成功條數
        T.FAILED_ROWS FAILED_ROWS --插入目標失敗條數
    FROM REP_SESS_LOG T
INNER JOIN REP_TASK_INST_RUN T1 --返回session狀態信息
    ON T.SUBJECT_ID = T1.SUBJECT_ID
        AND T.WORKFLOW_ID = T1.WORKFLOW_ID
        AND T.WORKFLOW_RUN_ID = T1.WORKFLOW_RUN_ID
        AND T.WORKLET_RUN_ID = T1.WORKLET_RUN_ID
        AND T.SESSION_ID = T1.TASK_ID
        AND T.INSTANCE_ID = T1.INSTANCE_ID
        AND T1.TASK_TYPE_NAME = 'Session'
LEFT JOIN REP_TASK_INST_RUN T2 --返回父級WKL
    ON T1.SUBJECT_ID = T2.SUBJECT_ID
        AND T1.WORKFLOW_ID = T2.WORKFLOW_ID
        AND T1.WORKFLOW_RUN_ID = T2.WORKFLOW_RUN_ID
        AND T1.WORKLET_RUN_ID = T2.CHILD_RUN_ID
        AND T2.TASK_TYPE_NAME = 'Worklet'
LEFT JOIN REP_TASK_INST_RUN T3 --返回爺爺級WKL,到這一級其實就可以看到session是屬於哪個電廠的了
    ON T2.SUBJECT_ID = T3.SUBJECT_ID
        AND T2.WORKFLOW_ID = T3.WORKFLOW_ID
        AND T2.WORKFLOW_RUN_ID = T3.WORKFLOW_RUN_ID
        AND T2.WORKLET_RUN_ID = T3.CHILD_RUN_ID
        AND T3.TASK_TYPE_NAME = 'Worklet'
LEFT JOIN REP_TASK_INST_RUN T4 --返回老大爺級WKL
    ON T3.SUBJECT_ID = T4.SUBJECT_ID
        AND T3.WORKFLOW_ID = T4.WORKFLOW_ID
        AND T3.WORKFLOW_RUN_ID = T4.WORKFLOW_RUN_ID
        AND T3.WORKLET_RUN_ID = T4.CHILD_RUN_ID
        AND T4.TASK_TYPE_NAME = 'Worklet'
)
WHERE
START_TIME > TRUNC(SYSDATE-1) ------篩選時間
AND RUN_STATUS = 'Failed' --session運行狀態的篩選,若只想看失敗的session信息,則令RUN_STATUS = 'Failed';否則去掉該條件,此時可以看到所有session運行狀態
ORDER BY RUN_DATE DESC, WORKFLOW, WORKLET_LVL3, WORKLET_LVL2, WORKLET_LVL1, SESSION_NAME --排序以更好的形式展示出來

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章