Tuesday, July 23, 2013

Datastage Log Errors - Part 1

Noting down some of the Log file Errors and their Resolutions - 

Error 1 -  'osh_conductor: APT_CONFIG_FILE setting does not point to a valid filename'
Resolution - Config file is missing. Check config file path in DS admin 

Error 2 - 'operator sync table cannot be created'
Resolution - terasync table is missing in the Database which Teradata Enterprise stage is referring to.

Error 3 - 'APT_CombinedOperatorController,0: [DataDirect][ODBC DB2 Wire Protocol driver][UDB DB2 for iSeries and AS/400]UPDATE OR INSERT SPECIFIES STRING TOO LONG X1URRF.  15 30 {0}'
Resolution - Check Data type and Precision of columns

Error 4 - 'APT_CombinedOperatorController,0: [DataDirect][ODBC DB2 Wire Protocol driver][UDB DB2 for iSeries and AS/400]F5900011   in PY02DTA    not valid for operation.  3 {0}'
Resolution - User doesnot  have insert or update access on that table

Datastage Helpful Points

Just noting down some of the observations which helped me with day to day work involved with Datastage..

  • While compiling a Datastage Job, if it gives error on passive stage then check if APT_CONFIG_FILE is present.
  • Teradata API Stage uses only ANSI SQL.
  • If reading multiple files from DS Sequence file and all of them have header records, then only header record of first file will be dropped.
  • If in between closecmd execution, DB gets disconnected then it will rollback all the transactions.
  • In Enterprise stage, Replace will not create table with column type as Unicode but wil l create as Latin only.
  • In API Stage, to improve performance increase Transaction size, use parallel mode and give hash partitioning . But don't use parallel mode when there are after SQL in that stage or it is used as source stage.
  • In API Stage, if User defined SQL is used then we need to add all the columns in using clause as it doesn't recognize column by column name but by sequence order. 
    • Ex. Using A, B, C Update Table SET Col1 = :B where col2 = :C ; Here if columns from job are in order D, F, G, H, A, B then :B = F