This post provides sample example of Oracle GoldenGate parameter files that can be used to configure Oracle GoldenGate replication setup inline with recommended best practices. The example is generic and can serve as a starting point for a more customized Oracle GoldenGate implementation.
Replicat Process
The replicate process is the apply process within an Oracle GoldenGate environment. The replicate process is responsible for reading the trail files and applying the transactions found in chronological order. This ensures that the data is applied in the same order it was captured (SCN order). Until recently, there was only one version of the replicat process, the classic replicate. Starting in Oracle GoldenGate 12c (12.1.2.0), there are now three distinct versions of the replicate:
- Classic
- Coordinated
- Integrated
Each of these modes provides some sort of benefit, depending on the database to which it is being applied. Oracle is pushing everyone to a more integrated approach; however, you have to be on database version 11.2.0.4 at a minimum.
Process name: Replicat
Description: The Replicat process reads data extracted by the Extract process and applies it to target tables or prepares it for use by another application, such as a load application.
Replicat parameter file (Sample)
-- ################################################################### -- Runcmd: ADD REPLICAT [REPLICAT name], EXTTRAIL [trail file path/two -- character trail id] -- Name of the replicat process. Limited to 8 charecters. REPLICAT [Replicat name] -- Oracle environment settings SETENV (ORACLE_HOME = "[Oracle home path]" ) SETENV (ORACLE_SID= "[Oracle sid]") SETENV (NLS_LANG = ="[Target db charecterset]") -- OGG database user login USERID [username] password [encrypted password], encryptkey default --Discard file location. DISCARDFILE [diacard file path/[discard file name.dsc], APPEND Megabytes [n] --DDL replication parameters DDL INCLUDE ALL, EXCLUDE OBJNAME "[schema name].[object name]" DDLOPTIONS REPORT -- The following parameter speeds up replicat processing rate. The -- parameter alters the replicat oracle session to not wait for commits -- to be persisted to the redo. SQLEXEC "ALTER SESSION SET COMMIT_WRITE = NOWAIT" -- Use the BATCHSQL parameter to increase the performance of Replicat. -- BATCHSQL causes Replicat to organize similar SQL statements into arrays and apply -- them at an accelerated rate. BATCHSQL -- Use the DISCARDROLLOVER parameter to set a schedule for aging discard --files. DISCARDROLLOVER AT [hh:mi] on [day of the week] -- Use the REPORTROLLOVER parameter to force report files to age on a -- regular schedule, instead of when a process starts REPORTROLLOVER AT [hh:mi] on [day of the week] -- Use the REPORTCOUNT parameter to report a count of transaction -- records that Extract or Replicat processed since startup REPORTCOUNT EVERY [n] HOURS, RATE -- List of tables (MAP statements) MAP [source schema name].[table name], TARGET [target schema name].[tablename]; ...
Oracle GoldenGate: Manager Sample Parameter File
Oracle GoldenGate: Extract Sample Parameter File
Oracle GoldenGate: Pump (Extract) Sample Parameter File
Oracle GoldenGate: Replicat Sample Parameter File