Method Two (Handle Using Your Extract Configuration)

You can allow Replicat to use the full row image to locate a row in the target table, rather than rely on a key. Replicat defaults to using the full row image when a target key is not defined or when it is not available (as in this case, where ODBC does not supply it). This method requires that the combination of all of the column values of any given row makes that row unique among all other rows in the table. Otherwise, Replicat may change more than one row.

No changes to the target table definitions are required by this method, nor are there any special column mapping requirements in the Replicat configuration. You only need to turn off compression in the source table attributes and in the Extract configuration.

  1. Create or alter the source tables to have the ATTRIBUTE NO AUDITCOMPRESS set. The following is an example:
    CREATE TABLE DEV.TSSCAT.ENTRY
      (
        COLA    INT DEFAULT NULL
      , COLB    CHAR(20)  DEFAULT DEFAULT NULL
      )
      ATTRIBUTE NO AUDITCOMPRESS;
    
  2. Use the NOCOMPRESSDELETES and NOCOMPRESSUPDATES parameters in the Extract parameter file to configure Extract to write all of the columns of a table to the trail for UPDATE and DELETE operations. Replicat will use all column values as the row locator. (By default Extract only writes the key to the trail for DELETEs and only the key and the changed columns for UPDATEs.) For more information, see Reference for Oracle GoldenGate.