Oracle GoldenGate 12.2 – Handling OGG-06591 and OGG-01031

Oracle GoldenGate 12.2 – Handling OGG-06591 and OGG-01031

Oracle GoldenGate 12.2 has a number of excellent new features and a couple of changes that you might not be expecting.  When configuring Oracle GoldenGate I always separate my trail file location from my GoldenGate home directory.  This is due to severe issues you might encounter if you are ever unable to write to the checkpoint file.  This can happen if the filesystem becomes 100% full.

Some people like to use a symbolic link, pointing GGHOME/dirdat to another filesystem.  This works, however it can lead to some confusion.  I prefer to simply point my exttrail and rmttrail locations to a different filesystems.  For example:

Extract parameter file:                   EXTTRAIL /u02/ggtrails/soe/1l
Pump parameter file                      RMTTRAIL /u02/ggtrails/soe/1r

This works fine with no error in GoldenGate 12.1 and earlier.  In GoldenGate 12.2 you will encounter the following error:

2016-03-20 10:22:34  WARNING OGG-06591  Reading the output trail file /u02/ggtrails/soe/init/1r000000 encount
ers an error from position 0, rescan from the file header to recover.

Source Context :
  SourceModule            : [er.extrout]
  SourceID                : [/scratch/aime/adestore/views/aime_adc4150378/oggcore/OpenSys/src/app/er/extrout.
  SourceFunction          : [complete_tcp_msg]
  SourceLine              : [1945]
  ThreadBacktrace         : [14] elements
                          : [/u01/app/oracle/product/
adContext()+0x1b) [0x7ffe47d52f8b]]
                          : [/u01/app/oracle/product/
essage(CSourceContext*, unsigned int, …)+0x134) [0x7ffe47d4d114]]
                          : [/u01/app/oracle/product/
PROBLEM(CSourceContext*, char const*, CMessageFactory::MessageDisposition)+0x30) [0x7ffe47d32568]]
                          : [/u01/app/oracle/product/
*)+0x694) [0x586498]]
                          : [/u01/app/oracle/product/*, int)
+0x1fb) [0x586895]]
                          : [/u01/app/oracle/product/ [0x5f719d]]
                          : [/u01/app/oracle/product/
6e) [0x5f67de]]
                          : [/u01/app/oracle/product/ [0x5f3c3b]]
                          : [/u01/app/oracle/product/
MainThread::ExecMain()+0x60) [0x6d0400]]
                          : [/u01/app/oracle/product/
Thread::RunThread(ggs::gglib::MultiThreading::Thread::ThreadArgs*)+0x14d) [0x6d15ed]]
                          : [/u01/app/oracle/product/
MainThread::Run(int, char**)+0xb1) [0x6d16d1]]
                          : [/u01/app/oracle/product/ [0x5f4feb]]
                          : [/lib64/ [0x387ae1ed5d]]
                          : [/u01/app/oracle/product/ [0x5630f9]]

2016-03-20 10:22:34  ERROR   OGG-01031  There is a problem in network communication, a remote file problem, e
ncryption keys for target and source do not match (if using ENCRYPT) or an unknown error. (Reply received is
Output file /u02/ggtrails/soe/init/1r000000 is not in any allowed output directories.).

2016-03-20 10:22:34  ERROR   OGG-01668  PROCESS ABENDING.

On the target system in the ggserr.log file you will find this error message:

2016-03-20 10:22:34  WARNING OGG-01223  Oracle GoldenGate Collector for Oracle:  Output file /u02/ggtrails/soe/init/1r000000 is not in any allowed output directories.

This is due to the inclusion of a new security option in GoldenGate to restrict trail files from being sent to any directory besides dirdat.

In order to solve this problem add the parameter ALLOWOUTPUTDIR in the target system GLOBALS file.  This parameter is followed by the directory.  This allows the directory and subdirectories to be used for trail file storage.


GGSCHEMA ggadmin
ALLOWOUTPUTDIR /u02/ggtrails

Restarting the pump process now succeeds.  The ALLOWOUTPUTDIR parameter was introduced in Oracle GoldenGate 12.2.  In addition, GoldenGate 12.2 has introduced a few other new parameters.