In this section, we will discuss problems with the replicat and how ot solve them:

There are several problems, which you can have with the replicat, but like everything with golden gate..or oracle :D It requires great deal of head banging. Preferably in a massive wall.

For whatever reason, a replicat can point to a wrong remote trail file. I tried cleaning it up, deleting the entire replicat and whatever else. Nothing worked. So I just repositioned the replicat and told him after which SCN to start. There are couple steps to do, but firstly let's see the situation:

Check the current setting

GGSCI (temporaprod.izb.local as ggate@orclprod) 29> info IBPREP1

REPLICAT   IBPREP1   Last Started 2021-02-24 18:02   Status RUNNING
Checkpoint Lag       00:00:00 (updated 00:00:10 ago)
Process ID           58280
Log Read Checkpoint  File /u01/app/oracle/product/12.3.0/gg/dirdat/rt000000000
                     First Record  RBA 0

So, our replicat searches for: /u01/app/oracle/product/12.3.0/gg/dirdat/rt000000000. ALTHOUGH THERE ISN'T EVEN SUCH FILE WHEN IT WAS CREATED and the entire checkpoint table was re-created….but whatever :) So, let's check on which one we are currently:

Extract

Check current sequence on Extract(On Master/Primary/Whatever you call it)

GGSCI (oraprod.izola.dom) 4> INFO EXTRACT group SHOWCH
ERROR: EXTRACT does not exist.


GGSCI (oraprod.izola.dom) 5> INFO EXTRACT IBPEXT1 SHOWCH

EXTRACT    IBPEXT1   Last Started 2020-11-28 09:32   Status RUNNING
Checkpoint Lag       00:00:00 (updated 00:00:01 ago)
Process ID           9912
Log Read Checkpoint  Oracle Redo Logs
                     2021-02-24 20:11:14  Seqno 35956, RBA 107833856
                     SCN 0.2698551815 (2698551815)


Current Checkpoint Detail:

Read Checkpoint #1

  Oracle Redo Log

  Startup Checkpoint (starting position in the data source):
    Thread #: 1
    Sequence #: 33640
    RBA: 1774096
    Timestamp: 2020-11-28 08:19:16.000000
    SCN: 0.2645241670 (2645241670)
    Redo File: /app/data/orclprod/redo/log1/log1a.rdo

  Recovery Checkpoint (position of oldest unprocessed transaction in the data source):
    Thread #: 1
    Sequence #: 35956
    RBA: 107697680
    Timestamp: 2021-02-24 20:10:59.000000
    SCN: 0.2698551736 (2698551736)
    Redo File: /app/data/orclprod/redo/log1/log1a.rdo

  Current Checkpoint (position of last record read in the data source):
    Thread #: 1
    Sequence #: 35956
    RBA: 107833856
    Timestamp: 2021-02-24 20:11:14.000000
    SCN: 0.2698551815 (2698551815)
    Redo File: /app/data/orclprod/redo/log1/log1a.rdo

Write Checkpoint #1

  GGS Log Trail

  Current Checkpoint (current write position):
    Sequence #: 748                              <- This little thingy.
    RBA: 84655471
    Timestamp: 2021-02-24 20:11:18.092007
    Extract Trail: ./dirdat/lt
    Trail Type: EXTTRAIL

That being said, if you use have a data pump (classic) Golden Gate, you DON'T NEED that number. You need the DATAPUMP number:

Datapump

Check current sequence on Data pump(On Master/Primary/Whatever you call it)

GGSCI (oraprod.izola.dom) 7> INFO EXTRACT IBPDMP1 SHOWCH

EXTRACT    IBPDMP1   Last Started 2021-02-24 17:05   Status RUNNING
Checkpoint Lag       00:00:00 (updated 00:00:03 ago)
Process ID           2647
Log Read Checkpoint  File ./dirdat/lt000749
                     2021-02-24 20:13:05.000000  RBA 20895488


Current Checkpoint Detail:

Read Checkpoint #1

  GGS Log Trail

  Startup Checkpoint (starting position in the data source):
    Sequence #: 747
    RBA: 47136581
    Timestamp: 2021-02-24 17:03:58.000000
    Extract Trail: ./dirdat/lt

  Current Checkpoint (position of last record read in the data source):
    Sequence #: 749
    RBA: 20895488
    Timestamp: 2021-02-24 20:13:05.000000
    Extract Trail: ./dirdat/lt

Write Checkpoint #1

  GGS Log Trail

  Current Checkpoint (current write position):
    Sequence #: 750                              <- This thingy.
    RBA: 73757623
    Timestamp: 2021-02-24 20:13:11.485236
    Extract Trail: ./dirdat/rt
    Trail Type: RMTTRAIL

So after, you have the needed sequence number, we can teach the replicat our peaceful ways…BY FORCE :D

Point the sequence number

GGSCI (temporaprod.izb.local) 3> dblogin userid ggate,password izola
Successfully logged into database.
GGSCI (temporaprod.izb.local) 4> stop replicat IBPREP1

Sending STOP request to REPLICAT IBPREP1 ...
GGSCI (temporaprod.izb.local as ggate@orclprod) 5> ALTER REPLICAT IBPREP1 EXTSEQNO 750

2021-02-24 20:14:27  INFO    OGG-06594  Replicat IBPREP1 has been altered. Even the start up position might be updated, duplicate suppression remains active in next startup. To override duplicate suppression, start IBPREP1 with NOFILTERDUPTRANSACTIONS option.

REPLICAT altered.
GGSCI (temporaprod.izb.local as ggate@orclprod) 5>

After that you can verify that it points to the correct and start it:

Verify & Start the replicat

GGSCI (temporaprod.izb.local as ggate@orclprod) 10> info IBPREP1

REPLICAT   IBPREP1   Initialized   2021-02-24 20:14   Status STOPPED
Checkpoint Lag       00:00:00 (updated 00:00:07 ago)
Log Read Checkpoint  File /u01/app/oracle/product/12.3.0/gg/dirdat/rt000000750
                     First Record  RBA 0


GGSCI (temporaprod.izb.local as ggate@orclprod) 11> start replicat IBPREP1, aftercsn 2698449303

Sending START request to MANAGER ...
REPLICAT IBPREP1 starting
GGSCI (temporaprod.izb.local as ggate@orclprod) 12> info IBPREP1

REPLICAT   IBPREP1   Last Started 2021-02-24 20:15   Status RUNNING
Checkpoint Lag       00:00:00 (updated 00:00:07 ago)
Process ID           69757
Log Read Checkpoint  File /u01/app/oracle/product/12.3.0/gg/dirdat/rt000750
                     First Record  RBA 1467                   <- You see, all fine

Now, you can set also the RBA (Rollback..something), using the whole set of commands:

Re-point syntax

ALTER REPLICAT group EXTSEQNO 750
ALTER REPLICAT group EXTRBA 1467

But I gave him the SCN so he knows where to go.

  • oracle_golden_gate_replicat.txt
  • Last modified: 2021/02/24 19:34
  • by andonovj