0 Replies Latest reply on May 13, 2013 6:59 PM by kenkrug

    Streams error ORA-26786 on timestamp column

      I"m getting these errors on various tables that have a time stamp. When you print out the transaction, instead of seeing the old value (as you do for all the other columns) it only shows "sys.timestamp". This implies to me that apply is not getting the actual timestamp value in the LCR so it has nothing to compare as it attempts to apply it on the target. Here's an example of transaction that got this error. You can set the old value for the REC_CRTN_DT just says sys.timestamp instead of an actual value. Has anybody seen this before? I know I can use dbms_apply_adm.compare_old_values, but don't want to have to do this for every table that has a timestamp column in it.

      ----- Local Transaction ID: 7.30.17141
      ----- Source Database: ATLSTMDV.WORLD
      ----Error in Message: 1
      ----Error Number: 26786
      ----Message Text: ORA-26786: A row with key ("CUST_GEN_ID", "CUST_SEG_SET_ID") =
      (133620, 3) exists but has conflicting column(s) "REC_CRTN_DT" in table
      ORA-01403: no data found

      --message: 1
      type name: SYS.LCR$_ROW_RECORD
      source database: ATLSTMDV.WORLD
      owner: CUSTOMER_S
      object: CUST_GEN_SEG_SET
      is tag null: Y
      command_type: DELETE
      old(1): CUST_GEN_ID
      old(2): CUST_SEG_SET_ID
      old(3): REC_CRTN_DT
      typename is SYS.TIMESTAMP
      old(4): REC_CRTN_USER_ID
      --message: 2