— Database blog

Oracle Golden Gate Tutorial part 1

Posted by ssgottik on 24/04/2011



OracleGolden Gateis a tool provided by oracle for transactional data replication among oracle databases and other RDBMS tools (SQL SERVER, DB2.Etc). Its modular architecture gives you the flexibility to easily decouple or combined to provide best solution to meet the business requirements.

 Because of this flexibility in the architecture,Golden Gatesupports numerous business requirements:

  • High Availability
  • Data Integration
  • Zero downtime upgrade and migration
  • Live reporting database


 Oracle Golden Gate Architecture

 Oracle Golden Gate Architecture is composed of the following Components:

 ● Extract

 ● Data pump

 ● Replicat

 ● Trails or extract

 ● Checkpoints

 ● Manager

 ● Collector

 Below is the architecture diagram of GG:

Figure: gg.01

 Oracle Golden Gate server runs on both source and target server. OracleGolden Gateis installed as an external component to the database and it wont uses database resource, in turn it won’t effect database performance. Where as Oracle streams which uses built in packages which are provided by oracle, which uses most of the database resources and there are chances of performance slow down in both source and target databases.

 Let first have a look at architectural components of Oracle Golden Gate:


Extract runs on the source system and it is the extraction mechanism for oracleGolden Gate( capture the changes which happens at the source database).

 The Extract process extracts the necessary data from the database transaction logs. For oracle database transaction logs are nothing both REDO log file data. Unlike streams which runs in the oracle database itself and needs the access to the database. OracleGolden Gatedoes not needs access to the oracle database and also it will extract only the committed transaction from the online redo log file.

 When ever there is a long running transaction which generates more number of redo data will force to switch the redo log file and in turn more number of archive logs will be generated. In these cases the extract process need to read the archive log files to get the data.

 Extract process captures all the changes that are made to objects that are configured for synchronization.  Multiple Extract processes can operate on different objects at the same time. For example once process could continuously extract transactional data changes and stream them to a decision support database. while another process performs batch extracts for periodic reporting or, two extract processes could extract and transmit in parallel to two replicat processes ( with two trails) to minimize target latency when the databases are large.


 Datapump is the secondary extract process with in source oracleGolden Gateconfiguration. You can have the source oracleGolden Gateconfigured without Datapump process also, but in this case Extract process has to send the data to trail file at the target. If the Datapump is configured the primary extract process writes the data to the source trail file and Datapump will read this trail file and propagate the data over the network to target trail file. The Datapump adds the storage flexibility and it isolates the primary extract process from TCP/IP activity.

 You can configure the primary extract process and Datapump extract to extract online or extract during batch processing.


 Replicat process runs on the target system. Replicat reads extracted transactional data changes and DDL changes (IF CONFIGURED) that are specified in the Replicat configuration, and than it replicates them to the target database.


 To support the continuous extraction and replication of source database changes, Oracle Golden Gate stores the captured changes temporarily on the disk in a series of files call a TRAIL. A trail can exist on the source or target system and even it can be in a intermediate system, depending on how the configuration is done. On the local system it is known as an EXTRACT TRAIL and on the remote system it is known as REMOTE TRAIL.

 The use of a trail also allows extraction and replication activities to occur independently of each other. Since these two ( source trail and target trail) are independent you have more choices for how data is delivered.


 Checkpoints stores the current read and write positions of a process to disk for recovery purposes. These checkpoints ensure that data changes that are marked for synchronization are extracted by extract and replicated by replicat.

 Checkpoint work with inter process acknowledgments to prevent messages from being lost in the network. OracleGolden Gatehas a proprietary guaranteed-message delivery technology.

 Checkpoint information is maintained in checkpoint files within the dirchk sub-directory of the Oracle Golden Gate directory. Optionally, Replicat checkpoints can be maintained in a checkpoint table within the target database, apart from standard checkpoint file.


 The Manager process runs on both source and target systems and it is the heart or control process of Oracle Golden Gate. Manager must be up and running before you create EXTRAT or REPLICAT process. Manager performs Monitoring, restarting oracle golden gate process, report errors, report events, maintains trail files and logs etc.


 Collector is a process that runs in the background on the target system. Collector receives extracted database changes that are sent across the TCP/IP network and it writes them to a trail or extract file.

Thanks and Regards,



22 Responses to “Oracle Golden Gate Tutorial part 1”

  1. sri said

    pls notyfy me the futured articles of oracle goldengate

    thanks in advance

  2. GK said


    Your article regarding Goldengate is really awesome. Before I read this article, I read many other blogs and they left some confusions. After reading your article, now everything is clear.


  3. Srini said

    Great Article. Thank you very much!!

  4. appsdocs said

    hi Satish,

    thanks a lot for all the effort for putting these things on your site, it gave a lot of idea on golden gate.


  5. BK said

    Hi Satish,

    Great Article for GG. How to monitor GG and where need i check errors (i.e any alert log or something)…


    • ssgottik said

      Thank you BK.

      You can use gsserr.log in Golden Gate home directory or you can use Director for monitoring purpose.

      with GG promt > ggsevt —-> command will you the error details.


  6. gouthamk10 said

    Good doc.very well explained.


  7. Wasim Mohammad said

    First of all i really would like to thank you this post.This is really awesome. Could you please provide us some details related to monitor GG and where need i check errors, known issues.

    Wasim Mohammad.

  8. feroz said


    thanks for the document. I followed you document and configured GG. It is working fine. I had a requirement that Delete statement in source should not replicate in target. how to achive this.


  9. Surender Poswal said

    Hi Sri,
    This is really a helpful artical and great work. Could you please provide material for replication from oracle to Teradata using golden gate.

    Surender Poswal

    • ssgottik said

      Thanks for the comments Surender. Please refer the oracle documentation for the same. still i have not worked on Teradata for GG.


  10. SK said

    Firstly I would echo the comments put by other readers that you have done a great job by simplifying the whole process and also for sharing it with others.
    Can we use data pump to push the trail files directly to a tibco bus so that tibco can trickle feed those to multiple targets for the delta only

  11. Julius said

    This is my first time visit at here and i am truly impressed
    to read all at single place.

  12. nice article

  13. vinodh said

    Hi Satish,

    Realy great document for Golden gate process.I have few doubts on which process is responsible for transferring the trail files from source to target. Can you please explain me in detail.

  14. Guna said

    Really nice article Mr. Thanks a lot..

  15. Mohit Khandelwal said

    Awesome job!!! Please keep doing that!!!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: