Oracle GoldenGate Key Terms and Concepts
Apart from the two architectures and their components, there are some key terms that you should get familiar with.
About Process Types
Depending on the requirement, Oracle GoldenGate can be configured with the following processing types.
-
An online Extract or Replicat process that runs until stopped by a user. Online processes maintain recovery checkpoints so that processing can resume after interruptions. You use online processes to continuously extract and replicate DML and DDL operations (where supported) to keep source and target objects synchronized. The
EXTRACT
andREPLICAT
parameters apply to this process type. -
A source-is-table (also known as in initial-load Extract) Extract process extracts a current set of static data directly from the source objects in preparation for an initial load to another database. This process type does not use checkpoints. The
SOURCEISTABLE
parameter applies to this process type. -
A special-run Replicat process applies data within known begin and end points. You use a special-run Replicat for initial data loads, and it also can be used with an online Extract to apply data changes from the trail in batches, such as once a day rather than continuously. This process type does not maintain checkpoints because the run can be started over with the same begin and end points. The
SPECIALRUN
parameter applies to this process type. -
A remote task is a special type of initial-load process in which Extract communicates directly with Replicat over TCP/IP. Neither a Collector process nor temporary disk storage in a trail or file is used. The task is defined in the Extract parameter file with the
RMTTASK
parameter.
About Commit Sequence Number (CSN)
When working with Oracle GoldenGate, you might need to refer to a Commit Sequence Number, or CSN. A CSN is an identifier that Oracle GoldenGate constructs to identify a transaction for the purpose of maintaining transactional consistency and data integrity. It uniquely identifies a point in time in which a transaction commits to the database.
The CSN can be required to position Extract in the transaction log, to reposition Replicat in the trail, or for other purposes. It is returned by some conversion functions and is included in reports and certain command line output.
A CSN is a monotonically increasing identifier generated by Oracle GoldenGate that uniquely identifies a point in time when a transaction commits to the database. It purpose is to ensure transactional consistency and data integrity as transactions are replicated from source to target. Each kind of database management system generates some kind of unique serial number of its own at the completion of each transaction, which uniquely identifies the commit of that transaction. For example, the Oracle RDBMS generates a System Change Number, which is a monotonically increasing sequence number assigned to every event by Oracle RDBMS. The CSN captures this same identifying information and represents it internally as a series of bytes, but the CSN is processed in a platform-independent manner. A comparison of any two CSN numbers, each of which is bound to a transaction-commit record in the same log stream, reliably indicates the order in which the two transactions completed.
The CSN is cross-checked with the transaction ID (displayed as XID in Oracle GoldenGate informational output). The XID-CSN combination uniquely identifies a transaction even in cases where there are multiple transactions that commit at the same time, and thus have the same CSN. For example, this can happen in an Oracle RAC environment, where there is parallelism and high transaction concurrency.
The CSN value is stored as a token in any trail record that identifies the commit
of a transaction. This value can be retrieved with the @GETENV
column
conversion function and viewed with the Logdump utility.
See Administering Oracle GoldenGate for more information about the CSN and a list of CSN values per database.
Overview of Groups
To differentiate among multiple Extract or Replicat processes on a system, you can create processing groups. For example, to replicate different sets of data, you would create two Replicat groups.
A processing group consists of a process (either Extract or Replicat), its parameter
file, its checkpoint file, and any other files associated with the process. For
Replicat, a group may also include an associated checkpoint table. You define groups by
using the ADD EXTRACT
and ADD REPLICAT
commands in the
Oracle GoldenGate command interface.
All files and checkpoints relating to a group share the name that is assigned to the group itself. Any time that you issue a command to control or view processing, you supply a group name or multiple group names by means of a wildcard.