Tag Archives: logging

Oracle GoldenGate Activity Logging

Since the publication of my latest book Oracle GoldenGate 12c Implementer’s Guide, I have discovered a great feature that has existed in OGG from version 11.1.1.0.

Activity Logging provides a verbose tracing facility that enables dynamic activity logging of any GoldenGate process. The feature is very useful for obtaining additional debug information and is enabled by placing an XML initialisation file in the OGG Home having the following filename naming convention and content.

gglog-<process>.dmp

<?xml version="1.0" ?>
- <configuration reset="true">
- <appender name="traceini" class="RollingFileAppender">
           <param name="BufferedIO" value="false" />
           <param name="Append" value="true" />
           <param name="File" value="traceLog_%I_%A" />
           <param name="MaxBackupIndex" value="99" />
           <param name="MaxFileSize" value="10MB" />
- <layout class="PatternLayout">
           <param name="Pattern" value="%d{%m/%d %H:%M:%S} [%C{1}:%L] %m%n" />
  </layout>
  </appender>
- <logger name="gglog.std">
     <level value="all" />
     <appender-ref name="traceini" />
  </logger>
- <logger name="gglog.std.utility">
     <level value="off" />
     <appender-ref name="traceini" />
 </logger>
</configuration>

 

<process> can be replaced with either of the following options, depending on the extent of your tracing requirements:

gglog-EOLTP.xml            — to trace the extract process named EOLTP
gglog-extract.xml           — to trace all extract processes
gglog-ROLAP.xml           — to trace the replicat process named ROLAP
gglog-replicat.xml          — to trace all replicat processes
gglog-mgr.xml                — to trace the MGR process
gglog-server.xml            — to trace the server collector process

As soon as any of the above files are copied to the OGG Home directory and the OGG process is running, tracing will immediately start and produce a traceLog file containing logdump style output.

Below is an example traceLog for the Replicat ROLAP process:

 

09/16 02:18:45.392 [processloop.cpp:204] process_replicat_loop:
 main loop ----------------------------------------------*
 09/16 02:18:45.392 [etparse.c:1007] token header : hdr_ind : 000000: 47 |G |
 09/16 02:18:45.392 [etparse.c:1008] token header : info : 000000: 01 |. |
 09/16 02:18:45.392 [etparse.c:1009] token header : length : 235
 09/16 02:18:45.392 [etparse.c:1015] token trailer : hdr_ind : 000000: 5a |Z |
 09/16 02:18:45.392 [etparse.c:1016] token trailer : info : 000000: 01 |. |
 09/16 02:18:45.392 [etparse.c:1017] token trailer : length : 60160
 09/16 02:18:45.392 [api.c:4373] et_result: 0
 09/16 02:18:45.392 [api.c:4374] ET rec ggs tkn:
 000000: 52 00 14 00 41 41 44 7a 72 45 41 41 45 41 41 41 |R...AADzrEAAEAAA|

Continue reading Oracle GoldenGate Activity Logging