1 Reply Latest reply on Nov 13, 2013 4:01 PM by Matthew.Walden.eDBA

    GG keeps looping through trail file & reapplying

    Developer2Be

      i am currently working on a golden gate replication and am seeing some looping which I cannot make sense of.

      Version: I am told I am on the latest golden gate but I cannot find a command to verify this.

      Database is 11.2.0.3

      64 bit machine

       

      Behaviour: Our database currently has around 35k rows being inserted in to it which we are trying to replicat. All testing had gone through correctly and rows were being moved. Now I am faced with an issue where the replicat appears to keep processing the same number of rows.

      Example:

      Start replicat; processes 11k inserts, 16k inserts, 33k inserts, 34k inserts, stats reset and now... 1k inserts, 5k inserts, etc.

      Extract shows only 35k rows extracted. It isn't extracting more.

      SeqNo of the trail file does not grow.

       

      *** Total statistics since 2013-10-29 11:32:06 ***

              Total inserts                                  34145.00

              Total updates                                      0.00

              Total deletes                                      0.00

              Total discards                                     0.00

              Total operations                               34145.00

       

      files are below:

       

      Extract:

      Extract em30

      UserID ggs, password ggs

      rmthost omsdbdev01.company.com, mgrport 7801

      RmtTrail ./dirdat/30

      TRANLOGOPTIONS DBLOGREADER

      TRANLOGOPTIONS EXCLUDEUSER GGS

      Table MOBIL.CUSTOMER_GROUP,  KEYCOLS(OWNER_ID, CUST_GROUP_ID);

      Table MOBIL.CUSTOMER_GROUP_MEMBERS,  KEYCOLS(OWNER_ID,CUST_GROUP_ID,CUST_NO);

       

      Replicat rm30

      UserID ggs, Password ggs

      IGNOREDELETES

      DiscardFile ./dirrpt/rm30.dsc, Purge,  megabytes 100

      SOURCEDEFS ./dirdef/MOBIL.CUSTOMER_GROUP.def

      SOURCEDEFS /oracle/ggs/omsp/dirdef/MOBIL.CUSTOMER_GROUP_MEMBERS.def

      DBOPTIONS SUPPRESSTRIGGERS

      Map MOBIL.CUSTOMER_GROUP, Target OMSADM.CUST_GROUP,

      KEYCOLS(GROUP_CUST_ID, OWNER_BU), &

      SQLEXEC(SPNAME GET_GROUP_CUST_ID, ID = RM30GET_GROUP_CUST_ID, &

      PARAMS(P_OWNER_ID = OWNER_ID, P_CUST_GROUP_ID = CUST_GROUP_ID)), &

      SQLEXEC(SPNAME GET_FIXED_LAST_MODIFIED_USER, ID = RM30GET_L_MOD, &

      NOPARAMS), &

      SQLEXEC(SPNAME get_fixed_default_locale, ID = RM30GET_F_LOC, &

      NOPARAMS), &

      COLMAP( GROUP_CUST_ID = @GETVAL(RM30GET_GROUP_CUST_ID.P_GROUP_CUST_ID), &

      GROUP_CUST_NO = CUST_GROUP_ID, &

      GROUP_TYPE_ID = 4, &

      DESCRIPTION = CUST_GROUP_NAME, &

      OWNER_BU = OWNER_ID, &

      LAST_MODIFIED_USER = @GETVAL(RM30GET_L_MOD.P_USERID)

      LAST_MODIFIED_DT = @DATENOW(), &

      DEFAULT_LOCALE = @GETVAL(RM30GET_F_LOC.p_locale), &

      IS_ACTIVE = @IF(@STRCMP(DELETED_FLAG,"N") = 0,1,0));

      Map MOBIL.CUSTOMER_GROUP_MEMBERS, Target OMSADM.CUST_GROUP_MEMBERS,

      KEYCOLS(GROUP_CUST_ID, CUST_ID), &

      SQLEXEC(SPNAME GET_FIXED_LAST_MODIFIED_USER, ID = RM31GET_L_MOD, &

      NOPARAMS), &

      SQLEXEC(SPNAME GET_GROUP_CUST_ID_EXIST, ID = RM31GET_GROUP_CUST_ID, &

      PARAMS(P_OWNER_ID = OWNER_ID, P_CUST_GROUP_ID = CUST_GROUP_ID)), &

      SQLEXEC(SPNAME GET_CUST_ID, ID = RM31GET_CUST_ID, &

      PARAMS(P_CUST_NO = CUST_NO)), &

      COLMAP(

      GROUP_CUST_ID = @GETVAL(RM31GET_GROUP_CUST_ID.P_GROUP_CUST_ID), &

      CUST_ID = @GETVAL(RM31GET_CUST_ID.p_cust_id), &

      LAST_MODIFIED_DT = @DATENOW(), &

      LAST_MODIFIED_USER = @GETVAL(RM31GET_L_MOD.P_USERID), &

      IS_ACTIVE = @IF(@STRCMP(DELETED_FLAG,"N") = 0,1,0), &

      );

       

       

      Any thoughts or ideas you may have would be awesome!!