Friday, October 30, 2015

Oracle GoldenGate: logdump utility


Logdump: Its time to learn logdump now

Scenario: where we are using goldengate and  replicating data at transaction level across instances, if there is any mismatch of data in the tables between source and target instances, We can use logdump utility to analyze the data on the trail from where goldengate Extract process is extracting  data from online redo logs

As we enabled supplemental logging on the table, for every committed transaction, along with changed columns primary keys columns will be logged into the online redo logs. we know that, extract will collect committed transactions from online redo logs and write to the local trails in local trail directory.

using logdump utility, we ensure primary keys + unique keys + changed columns are logged into the local trail / in local trail directory.
we will investigate using logdump.
you know logdump utility exists in oracle goldengate home

For investigation, we need to know checkpoint information about extract
we will get checkpoint information as follows

GGSCI (tnc61.ffdc.com) 3> info ENTNEW, showch

EXTRACT    ENTNEW    Last Started 2015-09-30 02:59   Status STOPPED
Checkpoint Lag       3605:41:54 (updated 95:30:07 ago)
Log Read Checkpoint  Oracle Integrated Redo Logs
                     2015-05-02 21:17:54
                     SCN 0.2410959 (2410959)


Current Checkpoint Detail:
Read Checkpoint #1
  Oracle Integrated Redo Log
  Startup Checkpoint (starting position in the data source):
    Timestamp: 2015-03-19 07:42:58.000000
    SCN: Not available

  Recovery Checkpoint (position of oldest unprocessed transaction in the data source):
    Timestamp: 2015-05-02 21:17:54.000000
    SCN: 0.2410958 (2410958)
  Current Checkpoint (position of last record read in the data source):
    Timestamp: 2015-05-02 21:17:54.000000
    SCN: 0.2410959 (2410959)
  BR Previous Recovery Checkpoint:
    Timestamp: 2015-03-26 18:47:36.861436
    SCN: Not available
  BR Begin Recovery Checkpoint:
    Timestamp: 2015-03-27 02:47:52.000000
    SCN: 0.2315296 (2315296)
  BR End Recovery Checkpoint:
    Timestamp: 2015-03-27 02:47:52.000000
    SCN: 0.2315296 (2315296)

Write Checkpoint #1
  GGS Log Trail
  Current Checkpoint (current write position):
    Sequence #: 5
    RBA: 1470
    Timestamp: 2015-09-30 02:59:48.283266
    Extract Trail: /u01/app/trails/ba
    Trail Type: EXTTRAIL

Header:
  Version = 2
  Record Source = A
  Type = 13
  # Input Checkpoints = 1
  # Output Checkpoints = 1

File Information:
  Block Size = 2048
  Max Blocks = 100
  Record Length = 2048
  Current Offset = 0

Configuration:
  Data Source = 3
  Transaction Integrity = 1
  Task Type = 0

Status:
  Start Time = 2015-09-30 02:59:11
  Last Update Time = 2015-09-30 02:59:48
  Stop Status = G
  Last Result = 0

From above output, extract is writing to trail with seqno 5 and RBA 1470 and writing to Extract Trail: /u01/app/trails/ba

GGSCI (tnc61.ffdc.com) 5> sh ls -ltr /u01/app/trails/ba*

-rw-r----- 1 oracle dba 1470 Sep 30 02:59 /u01/app/trails/ba000005
-rw-r----- 1 oracle dba 1470 Sep 30 02:59 /u01/app/trails/ba000004

From above I have required information, to investigate the trail using logdump 

Open the "trail ba with seqno 5" and position to RBA 1470 using write checkpoint information from the extract 

GHDR ON : to read the header information of the trail
DETAIL DATA: to display column info  

[oracle@tnc61 goldengate]$ ls -ltr logdump
-rwxr-x--- 1 oracle dba 11622063 Aug  7  2014 logdump
[oracle@tnc61 goldengate]$ 
[oracle@tnc61 goldengate]$ ./logdump

Oracle GoldenGate Log File Dump Utility for Oracle
Version 12.1.2.1.0 OGGCORE_12.1.2.1.0_PLATFORMS_140727.2135.1
Copyright (C) 1995, 2014, Oracle and/or its affiliates. All rights reserved.

Logdump 1 >open /u01/app/trails/ba000005
Current LogTrail is /u01/app/trails/ba000005 
Logdump 1 >open /u01/app/trails/ba000005
Current LogTrail is /u01/app/trails/ba000005 
Logdump 2 >
Logdump 2 >ghdr on
Logdump 3 >detail data
Logdump 4 >
Logdump 4 >pos 1470
Reading forward from RBA 1470 
Logdump 5 >n

This is my test server 
I don't have enough data on trial to show you guys
I will update this document and we will take logdump 


---Oracle in Memory --
---Nikhil Tatineni ------








Querys to monitor RAC

following few  Query's will help to find out culprits-  Query to check long running transaction from last 8 hours  Col Sid Fo...