Wednesday, April 16, 2014

GoldenGate Splitting an existing group

There are times when you realize that you should have done things in different way than the way they are done.

This is the best example of it.

As mentioned in my earlier posts I am working on setting up GoldenGate for about 40+ TB database for migration purpose and recently defined the groups based on the schemas within the database as were done in other databases.

All was good except when noticed that there was one group which is taking way too long to catch up (too much of lag time) since the Replicat started.

Looking more into that schema, found that there are about 3 tables in the schema which has too much of DML's going on compare to others. - This is when felt that I should have grouped this schema into 4 groups instead of combining all together... well well well enough blogging. Lets get the point as to how to divide this existing group now into 4.

First, stop the group and run info grp#, detail --> Note the SEQ# and RBA# for this group where it stopped applying the changes.

GGSCI () 8> !
info rrhp02, detail

REPLICAT   RRHP02    Last Started 2014-04-10 10:24   Status STOPPED
Checkpoint Lag       77:23:51 (updated 00:18:03 ago)
Log Read Checkpoint  File dirdat/rb000560 --> SEQ#
                     2014-04-11 15:16:39.009360  RBA 1878390122 --> RBA#

Now you got those two values, go ahead create the group(s) prm and oby (if you maintain oby files for future reference) files.

Obey File Content:
Add Replicat RRHP02A, ExtTrail dirdat/rb, extseqno 560 , extrba 1878390122

As you see above I am dividing this group into 2A, 2B and 2C and thus the group name RRHP02A and note the extseqno and extrba values.

Edit the prm file for this group and a table(s) that you wanted in this group along with other settings.

Perform the above for groups 2B and 2C and DO NOT forget to remove the tables entries from the original group 2 param file that you are moving into these new groups.

Once the files are ready, add them to goldengate:

GGSCI () 9> obey diroby/add_rrhp02a.oby

GGSCI () 10> Add Replicat RRHP02a, ExtTrail dirdat/rb, extseqno 560 , extrba 1878390122

REPLICAT added.

GGSCI () 25> start rrhp02* --> starting all the groups with 2*

Sending START request to MANAGER ...
REPLICAT RRHP02A starting

GGSCI () 29> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING
REPLICAT    RUNNING     RRHP02      77:57:41      00:00:00
REPLICAT    RUNNING     RRHP02A     77:59:05      00:00:05
REPLICAT    RUNNING     RRHP02B     77:59:02      00:00:09
REPLICAT    RUNNING     RRHP02C     77:59:08      00:00:03


You just split your existing group into multiple groups and utilized the load balancing feature of GoldenGate.

No comments:

Post a Comment