After Oracle corp. acquiring
Goldengate software there is a lot of buzz about Oracle Goldengate and it is
one of the hot topics at Oracle open world 2010.
Oracle Goldengate can be used as a
replication tool, ETL, and even as a DR solution.
Oracle Goldengate (GG) is probably
the best replication software and it is very easy to configure and deploy it in
large scale environment. Here are some of the things you need to be aware of:
1) All GG configuration files are
ascii text based files. Very easy to make changes but it is prone to human
errors in an environment having many DBA's working on it.
2) In order to use parallel apply
threads, GG breaks down the database transaction into multiple transactions
based on the hashing key defined for range split of the data. So, transactional
consistency will not be guaranteed during real time but there won't be any data
loss, but make sure that your application can tolerate this.
3) If there is no primary key or
unique index exists on any table, GG will use all the columns as supplemental
logging key pair for both extracts and replicats. But if you define key columns
in the GG extract parameter file and if you don't have the supplemental logging
enabled on that key columns combination, then GG will assume missing key
columns record data as "NULL", which is a huge deal, and this will
introduce logical data corruption on the target.
4) GG started supporting bulk data
loads with their 11.1 release but any NOLOGGING data changes will be silently
ignored without any warning.
5) GG doesn't support compression on
the source database.
6) GG does support DDL replication
but it is not easy to do selective DDL replication, it replicates every DDL
that happens on the source database which is not desirable for some customers.
7) Tables being replicated to on the
target can also be written to by any other application or DBA's.
8) GG supports ignoring data
conflicts for updates after the first instantiation of the target database
until it catches up. But it is very easy to forget turning off that parameter
and any updates being lost will not be alerted by GG.
9) GG still works by reverse
engineering the Oracle redolog. This may not be totally true with GG 11, but I
expect GG to interpret Oracle redo more directly in later versions of 11 or 12.
10) GG dynamically decides to change
the key columns that form the supplemental logging based on the state of
primary key (i.e. in VALIDATED or NONVALIDATED state), which can introduce data
corruptions on the target databases as the expected key columns data is missing
in the trail files and they will be set to NULL. They now have the patch
available for this, you can set "_USEALLKEYCOLUMNS and
ALLOWNONVALIDATEDKEYS" parameters in GLOBALS file to get around this problem.
Use cases:
I think Oracle is not promoting
logical standby as much as they should have. Oracle logical standby guarantees
data consistency, data integrity, maintains order of transactions, and doesn't
let target database tables to be modified by others which by itself offer great
confidence in data quality.
Oracle Xstreams offers greatest
flexibility and superior performance in extracting data from the source
database and applying the same to the target database.
For Oracle database upgrades or
having a logical DR standby it is better to use Oracle logical standby, use
Xstreams if you want more flexibility and high performance in moving data
across databases, and use GG for keeping the downstream database up to date for
reporting, ETL purposes, or to move data across hybrid databases.
There are many replication products available in the market like
shareplex, Data Mirror(called as Infospere Change Data Capture from
IBM). The real beauty of this software is it supports replication
between various databases like MS SQL Server, DB2, Sybase, Teradata etc.
It supports multi master, bi directional data replications.
Now Oracle has multiple products which are related to replication/data protection.
Oracle Streams
Oracle Golden gate
Oracle Active Data Guard
Oracle Data Integrator
Considerable
number of customers using Golden Gate Software and it is too
costly(worthy if you need to replicate real time with multiple vendor
databases)!!!
While Oracle has similar products when to use what product?
Oracle Active Data Guard:
-- Full protection, Read only copy of primary - only with Oracle Databases
-- Serves as Disaster recovery purposes
-- Entire database replication (synchronous, Asynchronous)
Oracle Golden Gate
-- Heterogeneous database replication
-- Subset of data replication
-- Zero downtime upgrades
Oracle Steams
-- Existing replication customers are supported
-- No new feature additions
-- Oracle steams/Oracle Golden gate to merge to have new era replication software.
Oracle Data Integrator
-- High performance bulk data movement
-- Load Data warehouses, Integrate heterogeneous data
source:-http://sai-oracle.blogspot.in/2010/09/what-is-oracle-goldengate.html
http://applicationsdba.blogspot.in/2010/05/oracle-golden-gate.html