Beruflich Dokumente
Kultur Dokumente
Day 2
13/06/2013
Log Files
The PowerCenter Server can create log files for each workflow it runs. These files contain information about the tasks the PowerCenter Server performs, plus statistics about the workflow and all sessions in the workflow. If the writer or target database rejects data during a session run, the PowerCenter Server creates a file that contains the rejected rows. The PowerCenter Server can create the following types of log files:
Workflow
log. Contains information about the workflow run such as workflow name, tasks executed, and workflow errors. By default, the PowerCenter Server writes this information to the server log or Windows Event Log, depending on how you configure the PowerCenter Server. If you wish to create a workflow log, enter a workflow file name in the workflow properties. Session log. Contains information about the tasks that the PowerCenter Server performs during a session, plus load summary and transformation statistics. By default, the PowerCenter Server creates one session log for each session it runs. If a workflow contains multiple sessions, the PowerCenter Server creates a separate session log for each session in the workflow. Reject file. Contains rows rejected by the writer or target file during a session run. If the writer or target does not reject any data during a session, the PowerCenter Server does not generate a reject file for that session. By default, the PowerCenter Server saves each type of log file in its own directory. The PowerCenter Server represents these directories using server variables.
You can change the default directories at the server level by editing the server connection in the Workflow Manager. You can also override these values for individual workflows or sessions by updating the workflow or session properties. Log File Type Workflow logs Session logs Reject files Default Directory $PMWorkflowLogDir $PMSessionLogDir $PMBadFileDir Value $PMRootDir/WorkflowLogs $PMRootDir/SessLogs $PMRootDir/BadFiles
Workflow Logs
You can configure a workflow to create a workflow log. When you do this, the PowerCenter Server writes information such as process initialization, workflow task run information, errors encountered, and workflow run summary to the workflow log. In general, a workflow log contains the following information about the workflow:
name status
and end times for tasks and worklets session messages and errors encountered during the workflow
Informatica Training
Day 2
13/06/2013
The PowerCenter Server categorizes workflow log error messages into severity levels. The PowerCenter Server either writes or does not write an error message to the log file based on the error severity level. You can set the Error Severity Level for Log Files in the PowerCenter Server setup program. You can also configure the PowerCenter Server to suppress writing messages to the workflow log file completely. As with PowerCenter Server logs and session logs, the PowerCenter Server enters a code number into the workflow log file message along with message text. You configure a workflow to create a workflow log by entering a workflow log file name in the workflow properties. If you choose to create a workflow log, the PowerCenter Server saves the workflow log in a directory entered for the server variable $PMWorkflowLogDir in the PowerCenter Server registration. You can override the workflow log directory at the server level or at the workflow level. By default, the PowerCenter Server saves one workflow log for each workflow. If you want to save multiple logs for different workflow runs, you can configure the workflow to save a workflow log file by timestamp, which permits an unlimited number of workflow logs, or by run, which saves a specified number of logs. To view previous workflow logs, save log files by timestamp. If you choose not to create workflow logs, the PowerCenter Server writes the workflow log messages to the server log or Windows Event Log, depending on how you configure the PowerCenter Server.
Informatica Training
Day 2
13/06/2013
INFO : CMN_1760 : (273|255) Message from session: TM_6228 [Writing session output to log file [d:\pcserver\SessLogs\s_PhoneList.log].]. INFO : LM_36333 [Tue Nov 18 11:16:43 2003] : (270|306) Execution of session instance [s_PhoneList] succeeded. INFO : LM_36318 [Tue Nov 18 11:16:43 2003] : (270|306) Execution of workflow [wf_PhoneList] succeeded.
Location.
You can configure the directory where you want the workflow log created. By default, the PowerCenter Server creates the workflow log in the directory configured for the $PMWorkflowLogDir server variable. You can enter a different directory, but if the directory does not exist or is not local to the PowerCenter Server that runs the workflow, the workflow fails. Name. If you wish to create a workflow log, you can enter a name for the workflow log file. If you do not enter a filename, the PowerCenter Server does not create a workflow log. Instead, the PowerCenter Server writes workflow log messages to the Windows Event Log or UNIX server log. Archive. You can configure the number of workflow logs you want the PowerCenter Server to archive for each workflow. By default, the PowerCenter Server does not archive workflow logs.
Save Save
If you configure the workflow to save a specific number of workflow logs, it names the most recent log filename.log. It then cycles through a closed naming sequence for historical logs as follows: filename.log.0, filename.log.1, filename.log.2, , filename.log.n-1, where n represents the number of workflow logs. Because the PowerCenter Server cycles through the numeric naming sequence, check the workflow log file timestamp to determine the chronological order of those files. Instead of entering a specific number of workflow logs to save, you can use the server variable $PMWorkflowLogCount. When you use $PMWorkflowLogCount server variable, the PowerCenter Server archives the number of workflow logs configured for the server variable. If you use $PMWorkflowLogCount for all workflows, you can increase the number of archived workflow logs for all workflows by changing the server variable. You can also save all workflow logs by configuring a workflow to save logs by timestamp. When timestamping workflow logs, the PowerCenter Server appends the year, month, day, hour, and minute of the workflow completion to the log file. The resulting log file name is filename.log.yyyymmddhhmi, where:
yyyy
= year
Informatica Training
Day 2
13/06/2013
mm dd hh mi
= day, ranging from 1-31 = hour, ranging from 0-23 = minute, ranging from 0-59
To prevent filling the workflow log directory, periodically delete or backup log files when using the timestamp option.
3. Enter
Informatica Training
Day 2
13/06/2013
4. Click
Informatica Training
Day 2
13/06/2013
If you save workflow logs by timestamp, you can also use the Workflow Monitor to view past workflow logs. To do this, right click the workflow in the Gantt chart view and choose Get Workflow Log.
Session Logs
The session log file contains information about all tasks the PowerCenter Server performs, plus the load summary and transformation statistics. The amount of detail in the session log depends on the tracing level that you set. You can define the tracing level for each transformation or for the entire session. The session-level tracing overrides any transformation-level tracing levels. In general, the session log contains the following information about the session:
Load summary of reader, writer, and Data Transformation Manager (DTM) statistics By default, the PowerCenter Server saves session logs in the directory for the PowerCenter Server variable $PMSessionLogDir, which you define in the Workflow Manager. The default name for the session log is s_mapping name.log. You can override the session log name and location in the session properties. The PowerCenter Server does not archive session logs by default. Instead, it creates one log for each session and overwrites the existing log with the latest session log. However, you can configure the session to archive session logs. By default, the PowerCenter Server generates session log files based on the PowerCenter Server code page. However, if you enable the Output Session Log in UTF-8 option on the Configuration tab of the PowerCenter Server setup program, the PowerCenter Server writes to the session log using the UTF-8 character set.
and end times for target loading encountered during session of post-session commands
Errors
Execution
Informatica Training
Day 2
13/06/2013
BLKR CNX CMN DBG DBGR EP ES FR FTP HIER LM NTSERV OBJM ODL PETL PMF RAPP REP RR SF SORT TE TM TT VAR WRT XMLR XMLW
Messages related to reader process, including Application, relational, or flat file. Messages related to the Repository Agent connections. Messages related to databases, memory allocation, Lookup and Joiner transformations, and internal errors. Messages related to PowerCenter Server loading and debugging. Messages related to the Debugger. Messages related to external procedures. Messages related to the Repository Server. Messages related to file sources. Messages related to File Transfer Protocol operations. Messages related to reading XML sources. Messages related to the Load Manager. Messages related to Windows server operations. Messages related to the Repository Agent. Messages related to database functions. Messages related to pipeline partitioning. Messages related to caching Aggregator, Rank, Joiner, or Lookup transformations. Messages related to the Repository Agent. Messages related to repository functions. Messages related to relational sources. Messages related to server framework, used by Load Manager and Repository Server Messages related to the Sorter transformation. Messages related to transformations. Messages related to Data Transformation Manager (DTM). Messages related to transformations. Messages related to mapping variables. Messages related to the Writer. Messages related to the XML Reader. Messages related to the XML Writer.
Thread Identification
The thread identification consists of the thread type and a series of numbers separated by underscores. The numbers following a thread name indicate the following information:
Informatica Training
Day 2
13/06/2013
Target
Partition Partition
The PowerCenter Server prints the thread identification before the log file code and the message text in the session log. The following example illustrates a reader thread from target load order group one, concurrent source set one, source pipeline one, and partition one: READER_1_1_1> DBG_21438 Reader: Source is [p152636], user [jennie] When you configure the PowerCenter Server to read Joiner transformation sources sequentially, the PowerCenter Server writes numbers with the following information after the thread name:
Target
load order group number source set number point number number
A concurrent source set is the group of sources in a target load order group the PowerCenter Server reads concurrently. A target load order group might contain multiple concurrent source sets if it contains a Joiner transformation and you configure the PowerCenter Server to read Joiner transformation sources sequentially. Enable the PMServer 6.X Joiner source order compatibility PowerCenter Server option to configure it to read Joiner transformation sources sequentially.
Some messages are embedded within other messages. For example, a code CMN_1039 contains informational messages from the Microsoft SQL Server as it changes to the source database to be used in the session.
Informatica Training
Day 2
13/06/2013
If your PowerCenter Server is set to run in ASCII mode, the session log file reports the sort order as Binary, even if you select a different sort order in the session properties.
Informatica Training
Day 2
13/06/2013
Load Summary
The session log includes a load summary that reports the number of rows inserted, updated, deleted, and rejected for each target as of the last commit point. The PowerCenter Server reports the load summary for each session by default. However, you can set tracing level to Verbose Initialization or Verbose Data to report the load summary for each transformation. The following sample is an excerpt from a load summary:
*****START LOAD SESSION***** Load Start Time: Tue Aug 03 11:30:00 2004 Target tables: Emp_target Commit on end-of-data Aug 03 11:30:07 2004 =================================================== WRT_8036 Target: Emp_target (Instance Name: [Emp_target]) WRT_8038 Inserted rows - Requested: 1 Applied: 1 Rejected: 0 Affected: 1 WRITER_1_*_1> WRT_8035 Load complete time: Tue Aug 03 11:30:07 2004 LOAD SUMMARY ============ 468 Chapter 16: Log Files WRT_8036 Target: Emp_target (Instance Name: [Emp_target]) WRT_8038 Inserted rows - Requested: 1 Applied: 1 Rejected: 0 Affected: 1 . . , WRITER_1_*_1> WRT_8043 *****END LOAD SESSION*****
The PowerCenter Server reports statistics for each of the following operations performed on the target:
Inserted.
Shows the number of rows the PowerCenter Server marked for insert into the target. The number of affected rows cannot be larger than requested for this operation. Updated. Shows the number of rows the PowerCenter Server marked for update in the target. The number of affected rows can be different from the number of requested rows. For example, you have a table with one column called SALES_ID and five rows containing the values: 1, 2, 3, 2, and 2. You mark rows for update where SALES_ID is 2. The writer affects three rows, even though there was only one update request. Or, if you mark rows for update where SALES_ID is 4, the writer affects 0 rows. Deleted. Shows the number of rows the PowerCenter Server marked to remove from the target. The number of affected rows can be different from the number of requested rows. Rejected. Shows the number of rows the PowerCenter Server rejected during the writing process. These rows cannot be applied to the target. For the Rejected rows category, the number of affected and applied rows is always zero since these rows are not written to the target.
Requested
rows. Shows the number of rows the writer actually received for the specified
operation. Applied rows. Shows the number of rows the writer successfully applied to the target (that is, the target returned no errors). Affected rows. Shows the number of rows affected by the specified operation. Depending on the operation, the number of affected rows can be different from the number of requested rows. For example, you have a table with one column called SALES_ID and five
10
Informatica Training
Day 2
13/06/2013
rows containing the values: 1, 2, 3, 2, and 2. You mark rows for update where SALES_ID is 2. The writer affects three rows, even though there was only one update request. Or, if you mark rows for update where SALES_ID is 4, the writer affects 0 rows. Rejected rows. Shows the number of rows the writer could not apply to the target. For example, the target database rejects a row if the PowerCenter Server attempts to insert NULL into a not-null field. The PowerCenter Server writes all rejected rows to the session reject file, or to the row error log, depending on how you configure the session. Mutated from update. Shows the number of rows originally flagged for update that are instead inserted into the target when the session is configured Update Else Insert. If the number of rows requested, applied, rejected, and affected are all zero for any of these four operations, the operation does not appear as a line in the load summary. If no data is passed to the target, the writer reports the following message:
No data loaded for this target.
name of the transformation number of input rows and the name of the input source number of output rows and the name of the output transformation or target number of rows dropped
The following sample is an excerpt from the transformation statistics in a session log file:
DETAILED TRANSFORMATION ROW STATISTICS for DSQ [SQ_EMPLOYEES], Partition[1] --------------------------------MAPPING> MAPPING> TT_11031 Transformation [SQ_EMPLOYEES]: MAPPING> TT_11035 Input - 12 (__READER__) MAPPING> TT_11037 [T_EMPLOYEES]: Output - 12, Dropped - 0 MAPPING> . . .
11
Informatica Training
Day 2
13/06/2013
Location.
You can configure the directory where you want the session log created. By default, the PowerCenter Server creates the session log in the directory configured for the $PMSessionLogDir server variable. You can enter a different directory, but if the directory does not exist or is not local to the PowerCenter Server that runs the session, the session fails. Name. You can name the session log or accept the default name. The default name for the session log is s_mapping name.log. Archive. You can configure the number of session logs you want the PowerCenter Server to archive for each session. By default, the PowerCenter Server does not archive session logs. Tracing levels. You can control the type of information the PowerCenter Server includes in the session log by setting a tracing level for the session. By default, the PowerCenter Server uses tracing levels configured in the mapping.
Save Save
By default, the PowerCenter Server does not archive session logs. It creates one session log for each session and overwrites the existing log with the latest session log. If you configure the session to save a specific number of session logs, it names the most recent log s_mapping name.log. It then cycles through a closed naming sequence for historical logs as follows: s_mapping name.log.0, s_mapping name.log.1, s_mapping name.log.2, , s_mapping name.log.n-1, where n is the number of session logs. Because the PowerCenter Server cycles through the numeric naming sequence, check the session log file timestamp to determine the chronological order of those files. Instead of entering a specific number of session logs to save, you can use the server variable $PMSessionLogCount. When you use $PMSessionLogCount server variable, the PowerCenter Server archives the number of session logs configured for the server variable. If you use $PMSessionLogCount for all sessions, you can increase the number of archived session logs for all sessions by changing the server variable.
12
Informatica Training
Day 2
13/06/2013
You can also save all session logs by configuring a session to save logs by timestamp. When timestamping session logs, the PowerCenter Server appends the month, day, hour, and minute of the session completion to the log file. The resulting log file name is s_mapping name.log.yyyymmddhhmi, where:
yyyy mm dd hh mi
= year
= day, ranging from 1-31 = hour, ranging from 0-23 = minute, ranging from 0-59
To prevent filling the session log directory, periodically delete or backup log files when using the timestamp option. To specify archiving information:
1. In the Workflow Manager, open the session properties. 2. Select the Log Options settings on the Config Object tab. 3. Enter the following session log options: 4. Click OK to save the session.
tab.
13
Informatica Training
Day 2
13/06/2013
To use the Workflow Monitor to view the most recent session log:
1. In the Navigator window, connect to the server on which the workflow runs. 2. Open the folder that contains the workflow. 3. Open the workflow that contains the session whose log you wish to view. 4. Right-click the session and choose Get Session Log.
If you save session logs by timestamp, you can also use the Workflow Monitor to view past session logs. To do this, right-click the session in the Gantt chart view and choose Get Session Log.
Session
header. Contains session run information. Information in the session header is like the information stored in the PMERR_SESS table. Column header. Contains data column names.
Column
The following sample error log file contains a session header, column header, and column data: ********************************************************************** Repository GID: fe4817ab-7d87-465f-9110-354222424df0 Repository: CustomerInfo Folder: Row_Error_Logging Workflow: wf_basic_REL_errors_AGG_case Session: s_m_basic_REL_errors_AGG_case Mapping: m_basic_REL_errors_AGG_case Workflow Run ID: 1310 Worklet Run ID: 0 Session Instance ID: 19 Session Start Time: 08/03/2004 16:57:01 Session Start Time (UTC): 1067126221 ********************************************************************** Transformation||Transformation Mapplet Name||Transformation Group||Partition Index||Transformation Row ID||Error Sequence||Error Timestamp||Error UTC Time||Error Code||Error Message||Error Type||Transformation Data||Source Mapplet Name||Source Name||Source Row ID||Source Row Type||Source Data agg_REL_basic||N/A||Input||1||1||1||08/03/2004 16:57:03||1067126223||11019||Port [CUST_ID_NULL]: Default value is:
14
Informatica Training
Day 2
13/06/2013
ERROR(<<Expression Error>> [ERROR]: [AGG] CUST_ID - NULL detected on input.\n... nl:ERROR(s:'[AGG] CUST_ID - NULL detected on input.')).||3||D:1221|N:|N:|N:|D:Kauai Dive Shoppe|D:4-976 Sugarloaf Hwy|D:Kapaa Kauai|D:HI|D:94766|D:[AGG] DEFAULT SID VALUE.|D:01/01/2001 00:00:00||mplt_add_NULLs_to_QACUST3||SQ_QACUST3||1||0|| D:1221|D:Kauai Dive Shoppe|D:4-976 Sugarloaf Hwy|D:Kapaa Kauai|D:HI|D:94766 agg_REL_basic||N/A||Input||1||4||1||08/03/2004 16:57:03||1067126223||11019||Port [CITY_IN]: Default value is: ERROR(<<Expression Error>> [ERROR]: [AGG] Null detected for City_IN.\n... nl:ERROR(s:'[AGG] Null detected for City_IN.')).||3||D:1354|N:|N:|D:1354|T:Cayman Divers World|D:PO Box 541|N:|D:Gr| N:|D:[AGG] DEFAULT SID VALUE.|D:01/01/2001 00:00:00||mplt_add_NULLs_to_QACUST3||SQ_QACUST3||4||0||D:1354|D:Cayman Divers World Unlim|D:PO Box 541|N:|D:Gr|N: agg_REL_basic||N/A||Input||1||5||1||08/03/2004 16:57:03||1067126223||11131||Transformation [agg_REL_basic] had an error evaluating variable column [Var_Divide_by_Price]. Error message is [<<Expression Error>> [/]: divisor is zero\n... f:(f:2 / f:(f:1 -f:TO_FLOAT(i:1)))].||3||D:1356|N:|N:|D:1356| T:Tom Sawyer Diving C|T:632-1 Third Frydenh|D:Christiansted|D:St|D:00820|D:[AGG] DEFAULT SID VALUE.| D:01/01/2001 00:00:00||mplt_add_NULLs_to_QACUST3||SQ_QACUST3||5||0||D:1356|D:Tom Sawyer Diving Centre|D:632-1 Third Frydenho|D:Christiansted|D:St|D:00820
15
Informatica Training
Day 2
13/06/2013
16