First, each Oracle GoldenGate manager process has to have a unique port. This port is used to communicate between the manager process and other Oracle GoldenGate processes. This is configured in the manager parameter file (mgr.prm) using the PORT parameter.
Second, for Oracle GoldenGate local processes to bind with remote communications, there is a need for a range of ports. This range can start starting at port 7840 or a customized range of up to 5000 other ports (as of GoldenGate 12.2). This is configured with the DYNAMICPORTLIST parameter. The followings are the processes needs ports allocated by DYNAMICPORTLIST:
Oracle GoldenGate Manager is the controller process that instantiates the Oracle GoldenGate processes. Oracle GoldenGate manager requires opening ports for both the itself and the local processes.
Found this picture on twitter. It's fun while intuitive way of explaining TCP/IP. :-)
Fully understand how GoldenGate uses and manages the ports will help you speed up the setup process especially in a cloud environment where opening ports is highly restricted.
Checkpointing is a technique that Oracle GoldenGate uses to add fault tolerance into the replication process. GoldenGate extract, data pump, and replicat processes record their read and write positions and time along the data flow. These positions are called Checkpoints. This blog discusses the details of what checkpoint is, how to create checkpoint tables and how to use checkpoints when recovering an Oracle GoldenGate process.
Best Practices: Creating Checkpoint Tables for Oracle GoldenGate Replicats
Using checkpoint table is the preferred approach.To avoid specifying checkpoint table name each time creating a new replicat, you can set the checkpoint table info in the ./GLOBALS file. (i.e. CHECKPOINTTABLE test.checkpoint_tbl)
1. What are Oracle GoldenGate Checkpoints?
Checkpoints are used in all of the GoldenGate processes :
Info: Integrated Capture for Oracle Database can only use checkpoint files.
As discuss earlier, there two ways to save of checkpoints:
TIP: Can I avoid creating the checkpointtable on the target database server?
Yes, but you have to turn off the checkpoint table option with the NODBCHECKPOINT when adding the replicat. For example: "ADD REPLICAT sales, EXTTRAIL dirdat\rt, NODBCHECKPOINT"
2. How to Create and Manage Checkpoint Tables
The followings are examples on how to create and manage checkpoint tables for the replicat.
2.1 Create Checkpoint Table
GGSCI 1> dblogin sourcedb test@localhost:3305 userid root password mysql Successfully logged into database. GGSCI 2> create checkpointtable checkpoint_56_tbl Successfully created the checkpoint table checkpoint_56_tbl.
2.2 Check the Checkpoint Table
GGSCI 6> info checkpointtable checkpoint_tbl Checkpoint table checkpoint_tbl created 2014-07-22 20:29:17.
2.3 Delete the Checkpoint Table
GGSC 1> dblogin sourcedb test@localhost:3305 userid root password mysql Successfully logged into database. GGSCI 2> delete checkpointtable checkpoint_56_tbl This checkpoint table may be required for other installations. Are you sure you want to delete this checkpoint table? yes Successfully deleted checkpoint table checkpoint_56_tbl.
The following is an example checkpoint table definition in MySQL DB:
mysql> desc checkpoint_tbl +----------------+---------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------------+---------------+------+-----+---------+-------+ | group_name | varchar(8) | NO | PRI | NULL | | | group_key | decimal(19,0) | NO | PRI | NULL | | | seqno | decimal(10,0) | YES | | NULL | | | rba | decimal(19,0) | NO | | NULL | | | audit_ts | varchar(29) | YES | | NULL | | | create_ts | datetime | NO | | NULL | | | last_update_ts | datetime | NO | | NULL | | | current_dir | varchar(255) | NO | | NULL | | | log_bsn | varchar(128) | YES | | NULL | | | log_csn | varchar(128) | YES | | NULL | | | log_xid | varchar(128) | YES | | NULL | | | log_cmplt_csn | varchar(128) | YES | | NULL | | | log_cmplt_xids | varchar(2000) | YES | | NULL | | | version | decimal(3,0) | YES | | NULL | | +----------------+---------------+------+-----+---------+-------+ 14 rows in set (0.00 sec)
3. Checkpoint and Oracle GoldenGate Process Recovery
Let's discuss how checkpoints are used during the Oracle GoldenGate recovery. The example scenario is:
Created: 7/1/2014 Last Updated: 4/3/2018
Oracle GoldenGate supports creating operational reporting for Oracle JD Edwards EnterpriseOne . In this deployment, you can select tables for Oracle GoldenGate to replicate from the primary JD Edwards EnterpriseOne database to a secondary instance. By creating an operational reporting repository, you can: