This chapter describes the features, enhancements, and changes made to Oracle GoldenGate. Oracle updates the release notes periodically after the software release. This document is accurate at the time of publication.
This section describes the features and enhancements made to Oracle GoldenGate.
Before installing Oracle GoldenGate on a Windows system, install the Microsoft Visual C ++ 2010 SP1 Redistributable Package and the Microsoft Visual C++ 2013 Redistributable Package (vcredist_x64.exe
). These packages install the runtime components of Visual C++ Libraries that are required for Oracle GoldenGate processes.
To download the Visual C++ 2010 SP1 package, go to:
https://www.microsoft.com/en-us/download/details.aspx?id=13523
To download the Visual C++ 2013 package, go to:
https://www.microsoft.com/en-us/download/details.aspx?id=40784
Support for the use of the MariaDB RDBMS fork of the MySQL database was added.
INFO EXTRACT group_name CONTAINERS
New command that lists the Pluggable Databases (PDBs) that are registered with a specified Extract group name.
The Microservices Architecture fully supports initial-load replication using file-based .initial load processing.
The monitoring functionality previously provided by the Manager process is now provided using the new Performance Metrics server process.
Oracle GoldenGate 12.3.0.1.3 for SQL Server (CDC Extract) can replicate column data that contains SPARSE
settings and FILESTREAM
data.
A new parameter TRANLOGOPTIONS QUERYTIMEOUT
is added for CDC Extract (not Classic Extract) that allows setting the query timeout value in cases where Extract abends from a connection timeout condition. The values are Min (0) = Infinite
, Max (2147483645)
, Default(30)
ENABLEMONITORING
ParameterThe GLOBALS
parameter ENABLEMONITORING
is enhanced to add the UDPPORT
and HTTPPORT
options for use with the UDP
mode. This allows for monitoring by Performance Metrics Server in the Classic Architecture.
For the MA Administration Server, a new endpoint is created at /services/v2/enckeys
, providing an API for generating AES encryption keys and using them to encrypt data. In addition, support for managing ENCKEYS
is added to the /services/v2/config/files
endpoint. The EDIT ENCKEYS
, ENCRYPT PASSWORD
, and VIEW ENCKEYS
commands were added.
All APIs are accessible and available under standard Oracle GoldenGate Licensing, except for the APIs associated with the Performance Metric Service. To access the Performance Metric Service APIs, it requires additional licensing through Oracle GoldenGate Management Pack or Oracle GoldenGate Foundation Suite.
Oracle recommends that you create only one Service Manager on a system where you install Microservices Architecture to facilitate easy upgrades.
Oracle GoldenGate provides a cohesive platform for a sharded Oracle Database, allowing data replication across various sharded database topologies. All the functionality of a sharded database, in addition to providing pre-configured Oracle GoldenGate replication as part of the GDSCTL DEPLOY
command, is included.
Parallel Replicat is a new variant of Replicat that applies transactions in parallel to improve performance. It takes into account dependencies between transactions, similar to Integrated Replicat. The dependency computation, parallelism of the mapping and apply is performed outside the database so it can be off-loaded to a middle-tier server. The transaction integrity is calculated and maintained within this process. In addition, Parallel Replicat supports the parallel apply of large transactions by splitting a large transaction into chunks and applying them in parallel.
Integrated Replicat has been enhanced to allow you to replicate certain Oracle-supplied PL/SQL procedures that cannot be replicated as DML or DDL. This requires that the source and target databases are Oracle Database 12c Release 2 (12.2) and later.
You can configure and manage Oracle GoldenGate to automate conflict detection and resolution when it is configured in Oracle Database 12c Release 2 (12.2) and later.
DBA_GOLDENGATE_SUPPORT_MODE
has a new value PLSQL
This view has a new value, PL/SQL
.
PMSRVR
CommandsThe PMSRVR
commands control the Performance Metrics Server.
ADD TRANDATA
, INFO TRANDATA
, and ADD SCHEMATRANDATA
enhancementsThese commands are enhanced to provide additional table handling information by adding the NOVALIDATE
option:
Warning on object type table, xmltype table, iot table, cluster table
Support mode, including full support, support using fetch, or not supported
List of Oracle GoldenGate key columns
Columns and their types that caused the table to be unsupported or fetch supported
Fetch restrictions
Warning on lack of unique key
TRANLOGOPTIONS
The FETCHINLINESFLOB
and VALIDATEINLINESFLOB
options are added to the TRANLOGOPTIONS
parameter.
The DLFAILOVER_TIMEOUT seconds
option provides a configurable timeout in seconds to allow for standby database reinstatement post-role transition.
The DISABLESOFTEOFDELAY
option sets the wait time that the EOFDELAY
will take effect when an EOF is reported along with records to be returned.
The SUPPRESSNOOOPUPDATES
option allows you to control whether no-op updates are filtered or not in Integrated Extract.
GETENV
The JULIANTIMESTAMP_PRECISE
option is added to the GETENV
parameter.
ALLOWNULLABLEKEYS | NOALLOWNULLABLEKEYS
The ALLOWNULLABLEKEYS | NOALLOWNULLABLEKEYS
GLOBALS parameter changes the key selection logic.
ADD HEARTBEATTABLE
and ALTER HEARTBEATTABLE
The TARGETONLY
and NOTARGETONLY
options are added to these parameters. This is available with Oracle Database only.
MAPALLCOLUMNS | NOMAPALLCOLUMNS
MAPALLCOLUMNS | NOMAPALLCOLUMNS
are added as Global parameters and as an option to the MAP
parameter to control whether or not Replicat obtains non-key columns.
You can control the ggserr.log
file behavior by changing appender-ref
from ggserr.Standard
to one of these options:
ggserr.Legacy
ggserr.None
ggserr.Syslog
OUTPUTFORMAT
Use the OUTPUTFORMAT
parameter to output data in text, SQL, and XML formats.
CACHEMGR
The CACHEMGR CACHEVMUSAGE
option was added and returns the statistics for the virtual memory use.
SQLEXEC
on Before and After ImagesThis functionality should work for any type of Extract or Replicat including Integrated Replicat. It allows a SQLEXEC
to call the stored procedure and return the masked value for BAN
, and then use that returned value in the WHERE CLAUSE
similar to:
SQLEXEC (BEFOREFILTER, SPNAME MASK_COL, PARAMS (in_mask = BAN, mask_type = ‘CHARACTER’, OPTIONS = ‘N’),
Where the return value,MASK_RESULT
, returns the masked value of the BAN
column. The other options are to mask it using only character data (A-Z, a-z, 0-9), and the last OPTIONS
is a list of possible options, such as whether the value should be deterministic or which values to encrypt.
In processing UPDATE
and DELETE
statements, you want the stored procedure to take the BEFORE
image of the value and use that masked value in the WHERE CLAUSE
. However, Oracle GoldenGate does not do this by default, so the MOD_COMPARE_COLS
option is introduced so that you can control the values that are used in the WHERE CLAUSE
.The MOD_COMPARE_COLS
option works similar to COLMAP
except that the values for the assigned columns are used in the WHERE CLAUSE
instead of as values in the actual SET
clause.
IGNOREINSERTS GETUPDATES GETDELETES TABLE ADM. MESSAGE_LOG, TARGET ADM. MESSAGE_LOG, SQLEXEC (BEFOREFILTER, SPNAME MASK_COL, PARAMS (in_mask = BEFORE.BAN, mask_type = ‘CHARACTER’, OPTIONS = ‘N’), COLMAP (USEDEFAULTS, pk_col = @GETVAL(MASK_COL.mask_result)), MOD_COMPARE_COLS (BAN = MASK_COL.MASK_RESULT);
In this example, the WHERE CLAUSE
for UPDATE
s and DELETE
s (since we are using IGNOREINSERTS
) are modified to use the MASK_COL.MASK_RESULT
value from the SQLEXEC
statement instead of using the actual before image of the BAN column from the trail.
Support for extraction and replication of DDL (data definition language) operations is introduced.
InnoDB now supports up to 1017 columns.
Support added for Capture and Delivery to MySQL Database with TDE Enabled.
MySQL has been certified for delivery to Amazon Aurora, which is derived from MySQL v5.6 for both a single instance and a cluster setup of Amazon Aurora.
A new change data capture (CDC)-based Extract is introduced.
The CDC-based Extract supports capture from SQL Server 2008 - 2016 databases enabled with TDE, and remote capture.
Capture from a source database configured as a Primary or readable Synchronous mode Secondary of an AlwaysOn Availability group.
Delivery to SQL Server 2016 targets.
New parameters TRANLOGOPTIONS NO
and MANAGECDCCLEANUP
added for SQL Server CDC Extract. MANAGECDCCLEANUP
is the default and instructs the CDC Extract to check for the Oracle GoldenGateCleanup task objects.
For the CDC Extract, there is a new utility ogg_cdc_cleanup_setup.bat
, which is used to create the Oracle GoldenGateCDC Cleanup job and associated objects, for controlling data retention in the CDC tables.
TLS 1.2 support has been added for Oracle GoldenGate for SQL Server, and requires the Extract to run with the new DBOPTIONS DRIVER SQLNCLI11
parameter.
Single user TRANLOGOPTIONS EXCLUDEUSER
functionality has been added for the SQL Server Classic Extract. However, multiple excluded users are not supported.
There is no longer a native DB2 z/OS build. This allows Oracle GoldenGatefor DB2 z/OS to maintain compatibility with the other platform features and significantly reduces the MIPs costs associated with running the product.
Extract uses stored procedures to read the transaction log.
AES encryption and 64–bit support is included.
BATCHSQL
is now supported for DB2 z/OS
COLCHARSET
support now functional in TABLE
specifications in Extract
TEXT
data conversions significantly more efficient in Extract when writing Unicode trails
This section describes the default behavior changes made to Oracle GoldenGate in relation to the last release.
Coordinated Replicat doesn't do dependency calculations for non-barrier transactions when a mapped table is partitioned based on THNREADRANGE
. It relies on specified THREADRANGE
columns to compute a hash value. It partitions the incoming data based on the hash value and sends all the records that match this hash value to same thread.
TIMESTAMP_PRECISE
option is available with @GETENV ('TRANSACTION', 'TIMESTAMP_PRECISE')
and @GETENV ('RECORD', 'TIMESTAMP_PRECISE')
The TIMESTAMP_PRECISE
option is used with TRANSACTION
and RECORD
options. @GETENV ('TRANSACTION', 'TIMESTAMP_PRECISE')
returns information about a source transaction, but with fraction precision. It returns the timestamp from year to microseconds. @GETENV ('RECORD', 'TIMESTAMP_PRECISE')
returns the location or the Oracle rowid
of a record in an Oracle GoldenGate trail file, with fraction precision. This option returns the timestamp from year to microseconds. However, depending on the database, the value can be in milliseconds with 0 microseconds.
@GETENV COMPATIBILITY
option values are from 0
to 6
.COMPATIBILITY
option are from 0
to 6
. A value of 5
means that the trail file is of Oracle GoldenGate version 12.2.0.1 and a value of 6
is for a trail file of Oracle GoldenGate version 12.3.0.1. These values are increasing as per Oracle GoldenGate versions depending on the trail file version.@GETENV
options, TRANSACTION transaction_info
, USERID
, USERNAME
are not valid for Pump Extract or Replicat. GGFILEHEADER
is only valid for Replicat The @GETENV
options TRANSACTION transaction_info
, USERID
, USERNAME
work on the main Extract and not on the pump Extract and Replicat. GGFILEHEADER
is valid only for Replicat.
CONNECT
command supports the !
modifierAdmin Client does not allow connecting to a server through HTTPS when the server certificate is invalid. To override this behavior, use the !
modifier with the CONNECT
command. For example, when using the Admin Client to connect to the Oracle GoldenGate Microservices Architecture services that are secured with a self-signed SSL certificate, you must use a command with the !
modifier:
CONNECT https://myserver.example.org as oggadmin !
PASSTHRU
and NOPASSTHRU
parameters with data pump are deprecatedThe PASSTHRU
and NOPASSTHRU
parameters in the data pump as standalone parameters indicate whether the pump is reading a trail and sending to a remote system with no further processing (PASSTHRU
) or may perform some processing on the data (NOPASSTHRU
). These parameters in this context only were deprecated.
EXTTRAIL
, RMTTRAIL
, EXTFILE
, and RMTFILE
Settings for FORMAT RELEASE
with Oracle Database 12.2FORMAT RELEASE
option, the following settings are supported in Oracle Database 12.2:
Non-CDB with compatibility set to 12.1, FORMAT RELEASE
12.2 or above is supported.
Non-CDB with compatibility set to 12.2, FORMAT RELEASE
12.2 or above is supported.
CDB/PDB with compatibility set to 12.2, only FORMAT RELEASE
12.3 is supported. This is due to the use of local undo for PDBs, which requires augmenting the transaction ID with the PDB number to ensure uniqueness of trx
IDs.
The default parallelism value in Oracle Database Standard Edition is 1, and if you specify a value of greater than 1, Integrated Extract abends.
Similarly for Integrated Replicat, internal apply engine does not support parallelism on Oracle Database Standard Edition. Integrated Replicat abends if a value greater than 1 value is specified.
The value size is expanded from 6 bytes to 8 bytes. This is applicable to Oracle Database 12c Release 2 (12.2) and later.
Checkpointing was changed to support the 8-byte representation for both classic and integrated Extract.
Support for long identifiers limit of 128 bytes was added. This is applicable to Oracle Database 12c Release 2 (12.2) and later.
Support for the Local Undo Oracle Database 12.2 feature, which allowed each PDB to use its own, local undo tablespace, has been added.
Classic capture mode when replicating a CREATE USER
command using the DDL trigger was changed and now the trigger owner and the Extract login user must match.
Oracle GoldenGate now provides replication support for pluggable databases with different character sets.
EOFDELAY
The EOFDELAY
wait time will take effect even when an EOF
is reported along with records to be returned.
The default behavior of a DB2 for I Extract has been reverted to convert all character data to Unicode. Extracts with multiple journals are no longer allowed by default
ADD TRANDATA
If you encounter the following error: Could not find stored procedure 'sys.sp_cdc_parse_captured_column_list'
When adding TRANDATA
to an SQL Server 2016 table, you may need to install a patch related to the following SQL Server bug: SQL Server 2016 Patch
@RANGE
@RANGE
function now abends when there are missing or NULL columns.This section describes the deprecated and no longer supported features of Oracle GoldenGate.
Oracle GoldenGate Director is not supported with Oracle GoldenGate12.3.0.1 release. Use Oracle GoldenGate Studio instead.
SYSLOG
The SYSLOG
parameter for GLOBALS
and MGR.PRM
is removed. To control where messages are written, see Using the Error Log in the Administering Oracle GoldenGate.
The reverse utility is deprecated.
INFO MARKER
The INFO MARKER
command is deprecated. Extract and Replicat no longer check the marker table history from NKS source.
NOASYNCTRANSPROCESSING
The NOASYNCTRANSPROCESSING
option of TRANLOGOPTIONS
is deprecated. There is no default behavior change.
FORMATASCII
, FORMATSQL
, and FORMATXML
The new OUTPUTFORMAT
parameter replaces the deprecated FORMATASCII
, FORMATSQL
, and FORMATXML
parameters.
CACHEMGR
The CACHEPOOL n
and CACHEFSOPTION { MS_SYNC | MS_ASYNC
options are deprecated.
EXTFILE,
EXTTRAIL
, RMTFILE
, RMTTRAIL
The following options of EXTFILE
, EXTTRAIL
, RMTFILE
, and RMTTRAIL
have been deprecated for Data Pump. The Data Pump writes the output trail in the same format and metadata Endian as the input source trail file:
FORMAT RELEASE
for data pump Extract only is deprecated. All other uses of this option are applicable.
TRAILBYTEORDER
TRAILCHARSETUNICODE
The Extract TRAILCHARSETUNICODE
parameter has been deprecated because the default behavior of a DB2 for I Extract is now reverted to convert all character data to Unicode. The character conversion efficiency has been significantly improved., however if a table must be sent without conversion, COLCHARSET(PASSTHRU)
may be used on the TABLE
statement.
USEANSISQLQUOTES | NOUSEANSISQLQUOTES
The GLOBALS USEANSISQLQUOTES | NOUSEANSISQLQUOTES
parameters have been deprecated.