Sunday, October 27, 2019

Golden Gate Activity Logging Tracing

Enable tracing are the TRACE(1)/TRACE2 -- OGG Activity Logging Tracing (Doc ID 1204284.1)



GGSCI (rac1) 3> send extract EXT1 trace /tmp/trace_me.trc

GGSCI (rac1) 5> send extract EXT1 trace off


ACTIVITY TRACING -- Oracle GoldenGate - Version 11.1.1.0.0 and later



1. gglog-traceini.xml --  this will generate the application level tracini logging


<?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>


2. gglog-full.xml -- this file will produce a full logging and generate very large trace file very quickly so it should only be used where EXTRACT/REPLICAT abend immediately after restart:


<?xml version="1.0"?>

<configuration reset="true">

<appender name="myAppender" class="RollingFileAppender">

<param name="File" value="gglog-%I.log"/>

<param name="MaxBackupIndex" value="9"/>

<param name="BufferedIO" value="false"/>

<layout class="PatternLayout">

<param name="Pattern" value="%d{%Y-%m-%d %H:%M:%S} %-5p|%-30.30c|%t|%5L %-24.24C{2} | %m%n"/>

</layout>

</appender>

<root>

<level value="all"/>

<appender-ref name="myAppender"/>

</root>

</configuration>


3. gglog-extract-log.xml -- this file will produce a "TLTRACE DEBUG" equivalent logging  for Oracle redo log reding Extract  and large number of trace files very quickly so it should only be used where EXTRACT abends immediately after restart.  Please also make sure you have "tranlogoptions nofastreads" added to the Extract paramter file


<?xml version="1.0"?>

<configuration reset="true">

<!--

/- ============================================================= -\

!- g g l o g - D E B U G . x m l -|

!- -|

!- Activity Logging control file -|

!- ============================================================= -|

!- This file was generated automatically as part of running -|

!- an executable created with a "Debug" configuration. -|

!- -|

!- This simple control file will provides basic output from -|

!- the Activity Logging subsystem for each program to a file -|

!- called, gglog-%I.txt, where '%I' is either the application -|

!- name, like 'ggsci', or the EXTRACT/REPLICAT group name. -|

!- A new file is created each time the application executes, -|

!- and up to nine versions of each file are kept on disk. -|

!- -|

!- For customizing this file, please consult the Activity -|

!- Logging design document. -|

\- ============================================================= -/

! -->


<!---

! Rolling appender for tracking each application execution

-!-->

<appender name="myAppender" class="RollingFileAppender">

<param name="File" value="gglog-%I_%A.log"/>

<param name="MaxBackupIndex" value="99"/>

<param name="MaxFileSize" value="1000MB"/>

<param name="BufferedIO" value="false"/>

<!---

! Output is formatted as:

! date-time LEVEL|logger-name | line-number source-module | Message\n

!

! Consult the Activity Logging design document or include/gglog.h

! for more details.

-!-->

<layout class="PatternLayout">

<param name="Pattern" value="%t %5L %-24.24C{2} | %m%n"/>

</layout>

</appender>

<!---

! Set up GoldenGate standard logging

!

! Only warnings for SYS and UTL logging.

! All logging enabled for APP.

-!-->

<logger name="gglog.std.utility">

<level value="off"/>

</logger>

<logger name="gglog.std.utility.calltrace">

<level value="off"/>

</logger>

<logger name="gglog.std.system">

<level value="off"/>

</logger>

<logger name="gglog.std.system.calltrace">

<level value="off"/>

</logger>

<logger name="gglog.std.application">

<level value="off"/>

</logger>

<logger name="gglog.std.application.calltrace">

<level value="off"/>

</logger>

<logger name="ggapp.parmscn">

<level value="off"/>

</logger>

<logger name="ggstd.ptrace">

<level value="off"/>

</logger>

<logger name="er.redo.ora">

<level value="all"/>

</logger>

<logger name="er.redo.ora.data">

<level value="all"/>

</logger>

<logger name="er.redo.ora.rtc">

<level value="off"/>

</logger>

<logger name="er.redo.ora.rtcfm">

<level value="off"/>

</logger>

<logger name="er.redo.ora.thread">

<level value="all"/>

</logger>

<logger name="er.redo.ora.thread.checkpoint">

<level value="off"/>

</logger>

<logger name="er.redo.ora.thread.blocks">

<level value="off"/>

</logger>

<logger name="er.redo.ora.thread.logswitch">

<level value="all"/>

</logger>

<logger name="er.redo.ora.thread.unpack">

<level value="all"/>

</logger>

<!---

! Everything goes to our appender

-!-->

<root>

<appender-ref name="myAppender"/>

</root>

</configuration>


4. tracing same as pre-v11.1 parameter "TRANLOGOPTIONS LOGSWITCHMSG ON"

The parameter is nolonger supported in v11.1 and up.  The redo log switch may be traced with activity logging: download the attach the file "Template to generate logswitch information" and follow the instruction bellow to rename it.

5. tracing Oracle redo error only.  

<?xml version="1.0"?>

<configuration reset="true">


<!---

! Rolling appender for tracking each application execution

-!-->

<appender name="binaryAppender" class="RollingFileAppender">

<param name="File" value="gglog-%I_%A.dump"/>

<param name="MaxBackupIndex" value="10"/>

<param name="MaxFileSize" value="500MB"/>

<param name="BufferedIO" value="false"/>

<layout class="BinaryLayout"/>

</appender>

<logger name="er.redo.ora">

<level value="warn"/>

</logger>

<logger name="er.redo.ora.thread">

<level value="warn"/>

</logger>

<logger name="er.redo.ora.thread.logswitch">

<level value="error"/>

</logger>

<root>

<level value="warn"/>

<appender-ref name="binaryAppender"/>

</root>

</configuration>


6.  For a Sql Server specific trace, create an xml file with the following lines:

<logger name="vam.sqlserver">

<level value="debug"/>

</logger>


7. For retrace command for .dmp files

CD $OGGHOME

> retrace <gglog-debug.xml> <gglog-extract.dmp>

**Contents of gglog-debug.retrace**

<?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="baswamy_retrace_traceLog_%I_%A.log"/>

<param name="MaxBackupIndex" value="20"/>

<param name="MaxFileSize" value="500MB"/>

<layout class="PatternLayout">

<param name="Pattern" value="%d{%Y-%m/%d %H:%M:%S} %-22t|%-5p|%5L %-24.24C{2} | %m%n"/>

</layout>

</appender>

<root>

<appender-ref name="traceini"/>

<level value="all"/>

</root>

</configuration>

No comments:

Post a Comment