OGG Data Pumps Error With OGG-01031 When Upgrading the Target Side (Doc ID 1288562.1)
Having updated the OGG code on the target (replicat) side without first shutting down data pump processes on the source - now all pumps abend with error
OGG-01031 There is a problem in network communication, a remote file problem, encryption keys for target and source do not match (
if using ENCRYPT) or an unknown error. (Reply received is Expected 4 bytes, but
got 0 bytes, in trail ./dirdat/..., seqno 8, reading record trailer token at RBA ...).
CHANGES
Updated target side OGG code without stopping data pumps.
CAUSE
Data pumps were not stopped and target side OGG code was updated.
So the pumps are still attached to the old manager port and remote trails.
The correct procedure is to stop the data pumps first. Verify they have cleanly shutdown by looking for server processes running in the OGG install directory. There should be none. Kill any servers that continue to run. Afterwards, stop the replicats and then stop the manager. This is the procedure that should be followed to prevent this problem. The recovery procedure follows.
SOLUTION
First try to use ETROLLOVER to change the pump to the new target install:
GGSCI>alter extract <pump_extract_name>,ETROLLOVER
GGSCI>start extract <pump_extract_name>
GGSCI>info extract <pump_extract_name>
Make note of remote trail file sequence number and alter the downstream target Replicats to start from the new remote trail file sequence number and RBA.
GGSCI>send replicat <replicat_name>,logend
Verify the Replicat has read previous trail file sequence number and is waiting at the end of the trail file and lag is zero.
GGSCI> alter replicat <replicat_name>, extseqno <new_remote_trail_file_seq_no> , extrba 0
GGSCI>start replicat <replicat_name>
If that does not work, then you have to go to a new trail as follows:
1. let the replicats read the remaining trails, that were not processed so far
2. edit pump parameters, change the remote trail name to a new one,
such as changing line "rmttrail ./dirdat/rs" to "rmttrail ./dirdat/rn"
3. delete the remote trail
4. add the new remote trail
GGSCI> add rmttrail ./dirdat/rn, extract <pump name>
GGSCI>delete rmttrail ./dirdat/<rmttrail>
if this does not work, then note the seqno and rba of the pump where it stopped
and delete the pump
GGSCI>delete <pump>
4. add the new pump with the noted seqno and rba and add the remote trail
GGSCI>add extract <newpump>, exttrailsource ./dirdat/<exttrail>, extseqno xxx, extrba xxx
GGSCI>add rmttrail ./dirdat/<newrmttrail>, extract <newpump>
5. and start the pump
GGSCI>start <newpump>
6. in the target site, alter replicat to the new trail name such as
GGSCI>alter replicat <rep_name>, exttrail ./dirdat/rn, extseqno 0, extrba 0