3 Known Issues and Workarounds

This chapter describes the known issues at the time of release.

Release 19c (19.1.0.0.200714) — October 2021

Bug 33407415: PostgreSQL - Extract writes incorrect record in trail with Default logging enabled at the table level

Tables that are configured to be captured by Extract where the FULL Replica Identity logging is not set, can cause downstream Replicat problems when encountering Update and Delete operations, causing the Replicat to abend.

Workaround

Run the ADD TRANDATA command with the ALLCOLS option for any table configured to be captured by Extract, regardless of whether the table has a Primary Key or not. This ensures that the table has FULL Replica Identity logging.

Release 19.1.0.0.210420 — May 2021

Bug 32795888: SQL Server - ADD HEARTBEATTABLE fails on Azure SQL DB Managed Instance and gives incorrect error message that TARGETGONLY is required

The ADD HEARTBEATTABLE/ALTER HEARTBEATABLE NOTARGETONLY commands do not work for an Azure SQL Database Managed Instance, and reports an incorrect error message that TARGETONLY is required, when attempting to use one of these commands.

Workaround

None.

Bug 32791333: Sybase - Heartbeat feature is not supported in Sybase versions 15.7 and 16.1

The heartbeat feature is not supported with Sybase 15.7 and 16.1 database versions. The following error occurs when you try to add a heartbeat table:

2021-04-13 08:50:31 ERROR OGG-10513 The job scheduler database(sybmgmtdb)does not exist. 
Configure database sybmgmtdb and add Oracle GoldenGate replication user with correct role to create and run the heart beat job.

Workaround

None.

Release 19.1.0.0.201013 — October 2020

Bug 31792776: PostgreSQL - Extract abends with the "Positioning sequence ID is out of order" error

Extract abends with the error Positioning sequence ID is out of order.

Workaround

Alter the Extract by using the flush LSN reported in the last Extract run reported file.

Bug 29910461: DB2 for i - Pump abends with the error " ERROR OGG-01224 TCP/IP error 79 (Connection refused) "
Oracle GoldenGate Pump may fail with the connection refused error if the number of Pump processes that have been started is more than 50.
Workaround
Start less Pump processes at one time.
Bug 31460112: DB2 LUW - X Endian Extract stopped with the error "An invalid parameter "piStartLRI" was passed to the "db2ReadLog" read log API"

This error may occur while reading log records from a remote database for DB2 LUW in a cross-endian environment.

Workaround
None.
Bug 31637694: Oracle - Replicat skips inserts after an Oracle GoldenGate restart
If GROUPTRANSOPS is set to 1, then the records may be skipped when Replicat sees a RESTART_ABEND.
Workaround
Set GROUPTRANSOPS greater than 1 or remove its setting.

Release 19c (19.1.0) - September 2020

Bug 31652978: Oracle - Extract is missing INSERTS randomly for one of the active/live table for batch job load

Classic Extract cannot be used to capture from Exadata platforms. To capture from Exadata, Exadata Cloud Service or Exadata Cloud at Customer, or any Exadata cloud service, you must use integrated Extract.

Workaround

None.

Bug 31922955: Generic - LANG=en_US.UTF-16 is not supported

When LANG is set at the operating system level to en_US.UTF-16, it causes GGSCI to hang. The setting of en_US.UTF-8 is allowed. For example, the setting in Linux, which would cause GGSCI or Admin Client to han is:

[celclnx29]/bugmnt3/am/celclnx29/SRx.xxxxxxxxxxx/user/gg122> echo $LANG en_US.UTF-16

Workaround

None.

Bug 31799288: Oracle - Tablespace encryption is not supported with classic Extract

Tablespace encryption is not supported with classic Extract for Oracle database 19c.

Workaround

None.

Bug 31768942: ADB-S - The SHARE option doesn't work for PerPDB capture

The SHARE option is ignored when registering an Extract for PerPDB although the registration is successful.

Workaround

None.

Release 19.1.0.0.200714 - August 2020

Bug 31732282 - PostgreSQL: User-defined types are not supported

Oracle GoldenGate for PostgreSQL does not support User Defined Data Types (UDT).

Workaround

Don't use tables which have user-defined data types or exclude such tables from Extract or Replicat parameter file.

Bug 31730629: PostgreSQL - Capture from materialized views is not supported

Capturing records from materialized views is not supported.

Workaround

Do not use materialized views in the Extract parameter file.

Bug 31730647: PostgreSQL - Cannot distinguish null and empty string in UPDATE record

PostgreSQL Extract cannot distinguish the VARCHAR column data for empty string or null data if it's inserted as an empty string or NULL data and later updated with NULL or empty string or the other way round.

Workaroud

Use the NOCOMPRESSUPDATES parameter.

Bug 31730664: PostgreSQL - The default plugin test_decoding.so must be present in the PostgreSQL installation for Oracle GoldenGate Extract to capture WAL records

Default test_decoding plugin must be available in the PostgreSQL instillation directory. If it is an existing database setup and you cannot find test_decoding.so under the database LIB folder then you must download the test_decoding.so from the following location

If database version is PostgreSQL 11:

sudo yum install postgresql11-contrib

If database version is PostgreSQL 10:

sudo yum install postgresql10-contrib

Workaround

None.

Release 19.1.0.0.200714 - July 2020

Bug 31097457: PostgreSQL - Bind bit/varbit types as char/varchar instead of binary

In initial load mode, the bit varying data can be prefixed with 0s in cases where the actual data is less than the length defined on the source bit varying column. The length of the data is rounded to nearest 8-multiple by prefixing 0s.

Workaround

None

Bug 31326961: PostgreSQL - Timestamp data containing AD or BC tags or YEAR component with more than 4 digits is not being captured correctly

The seconds field in the timezone component is not is written to trail when the data is applied on target PostgreSQL TIMESTAMPTZ column, causing a mismatch in the data between source and target.

Workaround

None.

Bug 31326068 - Mismatch in TimestampTZ data when the data captured from the database has seconds in the timezone component

The seconds part of the timezone component in the received data is not considered in the target databsae. For example, if the received data has timezone component data 1900-03-03 02:02:02.123 +03:59:56, the 56 seconds in timezone gets ignored and a mismatch of 56 seconds is observed.

Workaround

If the timezone parameter in the postgresql.conf file is utc this problem does not occur.

Bug 31146341: PostgreSQL - An error occurs if the target database table has an Identity Always column created with the GENERATED ALWAYS AS IDENTITY clause

The following error is be thrown if the target database table has an Identity Always column created with clause `GENERATED ALWAYS AS IDENTITY.

2020-05-09 21:46:39 ERROR OGG-00551 Database operation failed: Preparing statement (INSERT INTO "public"."int1_nokey" ("id",...). ODBC error: SQLSTATE 37000 native database error 3624914. [Oracle][ODBC PostgreSQL Wire Protocol driver][PostgreSQL]ERROR: VERROR; cannot insert into column "col3"(Detail Column "col3" is an identity column defined as GENERATED ALWAYS.; Hint Use OVERRIDING SYSTEM VALUE to override.; File d:\pginstaller.auto\postgres.windows-x64\src\backend\rewrite\rewritehandler.c; Line 826; Routine rewriteTargetListIU; [Oracle][ODBC PostgreSQL Wire Protocol driver][PostgreSQL]Failed transaction. The current transaction rolled back.

Workaround

If there are any conflicts or collisions in the rows due to change in the seed value of the identity column, you can do the following to correct it:
  1. Find the sequence name that is operating on the auto-increment column in the problematic table.

    select pg_get_serial_sequence('fruits','id') where table is “fruits” and auto-increment column name is “id” 
    pg_get_serial_sequence
    -------------------------------- 
    "public.fruits_id_seq"
  2. Find the default increment of the seed value for the auto-increment column.

    select increment from information_schema.sequences where sequence_name= 'fruits_id_seq' and sequence_schema='public';
  3. Change the seed value of the auto-increment column by using the following query:

    SELECT SETVAL('fruits_id_seq', (SELECT MAX(id) + increment FROM fruits));
  4. Start Replicat.

Bug 31521207: PostgreSQL - Data corruption when converting BIT data into Char/Varchar Data Type

Mapping the PostgreSQL source column of BIT type with length 1 (BIT or BIT(1) or VARBIT(1) types) onto a target CHAR or VARCHAR type column is not supported.

Workaround

Use the source bit type column with length more than 1.

Bug 31528537: PostgreSQL - Replicat abends with invalid input syntax for type numeric when replicating to @token

Extract from PostgreSQL does not support SQLEXEC with a SQL query having DATE or TIMESTAMP column in the WHERE clause.

Workaround

None.

Bug 31204771: PostgreSQL - DBLOGIN generates the error “Error parsing connect string at offset 51' when using password in special chars”

DBLOGIN generates an error due to limitations with password recognition.

Workaround

There is no workaround for this issue but the following limitations should be considered:
  • When password has a special character it should be quoted with double quotes.

  • Password string must not use a semicolon as a special character. If semicolon is used then it is treated as the field separator in the connection string, which the driver interprets as a connection option causing the connection to fail.

  • You must not use the password with semicolon while creating USERIDALIAS also.

Bug 31216309: PostgreSQL - Extract is unable to register from the standby database when native replication is enabled

Capture from standby database is not supported.

Workaround

None.

Bug 31560266: MySQL - ADD HEARTBEATTABLE message needs to be corrected for MySQL, MariaDB Amazon Aurora, Amazon RDS

If the database user does not have EVENT permissions within the database, an incorrect message lists to GRANT EVENT to user@databasename.

Workaround

Grant EVENT permissions on user@hostname and if running against Amazon Aurora or Amazon RDS, set the event_scheduler variable to ON via a new or non-default, parameter group.

Release 19.1.0.0.200414 - June 2020

Bug 31455294: DB2 z/OS - Oracle GoldenGate 19c (19.1.0.4) Extract causes LPAR and DB2 to crash

If Oracle GoldenGate 19c (19.1.0) is installed for DB2 z/OS but a prior installation of the Oracle GoldenGate 12c (12.3.0.1) stored procedures are referenced by the Oracle GoldenGate 19c (19.1.0) installation or not properly replaced, it is possible that an ECSA corruption could occur, which could lead to a fatal abend of the entire LPAR. If you upgrade Oracle GoldenGate, it must be confirmed that the new executables in the DB2 z/OS PDSE are properly installed or that a new name for them is used and referenced in the new Stored Procedure and UDTF definitions.

Workaround

Ensure that the installation is performed correctly.

Bug 30328936: DB2 z/OS - Extract intermittently abends with the error "OGG-06550 Unable to position in log buffer"

When LOBs are present in one or more tables in the Extract or NOAPIFILTER is issued, Extract may abend intermittently with the error OGG-06550 Unable to position in log buffer.

Workaround

You need to add the following to the Extract configuration:

TRANLOGOPTIONS APIBUFSIZE 100000

If the issue persists, slowly increase the value until it stops. This value must not be higher than the output BLOB column size defined for the OGGREADB user-defined table function. This directly affects the size of the ECSA buffer allocated on the DB2 z/OS system, so it is recommended that you increase this value only as much as required. If you decide to change the APIBUFSIZE then it shouldn't be larger than the value of the BUFSIZE parameter, which has a default value of 1MB.

Release 19.1.0.0.200414 - April 2020

Bug 31202227 - Azure Database for MySQL: Extract abends after second or third heartbeat seed record in the heartbeat table

Extract abends with the following error after the second or third update to the hb_seed table when connecting remotely to Azure Database for MySQL.

ERROR OGG-01161 Bad column index (-4096) specified for tablemysrcdb.gg_heartbeat_seed, max columns = 17..

Workaround

Ensure that the binlog_row_image system variable is set to FULL.

Release 19.1.0.0.200204 - 4 February 2020

Bug 30033958 - DB2 z/OS: Truncate table not captured by Extract

The TRUNCATE IMMEDIATE performed on a source database does not reflect in the target database.

Workaround

GETTRUNCATES are required in the Extract parameter file to see the change at the target. Also, remove the IMMEDIATE parameter from the TRUNCATE command.

Bug 31195430 - TRANLOGOPTIONS EXCLUDETAG does not work with Parallel DML operations

Trail records from PDML transaction are missing tag data/token.

Workaround

None

Release 19c (19.1.0) - October 2019

Bug 30427030 - Oracle: The VIEW PARAMS and VIEW REPORT commands fail in the Admin Client

When running Admin Client on Windows Server, the VIEW PARAMS and VIEW REPORT commands fail when using the standard viewer utility.

Workaround

To resolve this issue, execute the following command within Admin Client:

SET PAGER notepad

Release 19c (19.1.0) - September 2019

Bug 30328936 - DB2 z/OS: Extract intermittently abends with the error "OGG-06550 Unable to position in log buffer"

When LOBs are present in one or more tables in the Extract or NOAPIFILTER is issued, Extract may abend intermittently with the error "OGG-06550 Unable to position in log buffer".

Workaround

You need to add the following to the Extract configuration:

TRANLOGOPTIONS APIBUFSIZE 100000

If the issue persists, slowly increase the value until it stops. This value must not be higher than the output BLOB column size defined for the OGGREADB user-defined table function. This directly affects the size of the ECSA buffer allocated on the DB2 z/OS system, so it is recommended to increase this value only as much as is necessary. If you decide to change the APIBUFSIZE then it shouldn't be larger than the value of the BUFSIZE parameter, which has a default value of 1MB.

Bug 29541089 - SQL Server: Extract capture rates slower for SQL Server 2017 compared to earlier versions

An issue which may cause degradation with Oracle GoldenGate Capture rates for Microsoft SQL Server 2016/2017 has been raised with Microsoft.

Workaround

None.

Bug 30222937 - SQL Server: Incorrect message regarding SQL Server Agent when Extract does not have SYSADMIN rights

When Extract is connected to the SQL Server instance with a login that is not a member of the sysadmin server role, a message is displayed that states that the SQL Agent is not running, which may or may not be correct, as the login does not have the permissions to actually determine the status of SQL Agent.

Workaround

Grant the login used by Extract to be a member of the SYSADMIN server role, or manually confirm that SQL Agent is running and ignore the warning in the Extract's report file.

Bug 30222904 - SQL Server: Extract abends without error when permissions issue with AlwaysOn Secondary replica database

When Extract is configured with TRANLOGOPTIONS ALWAYSONREADONLYROUTING, using a DSN connection through the listener, and the Always On group is configured for read-only routing, the Extract abends without any error if the login used by Extract has not been mapped to the database user on the secondary replica database.

Workaround

Create the same login or password used by the Extract on the secondary instances and grant the login SYSADMIN rights.

Bug 29209870 - SQL Server: SQL Server CDC TRANDATA does not support period in database or table names

ADD TRANDATA for Oracle GoldenGate for SQL Server does not support periods in the database or table names.

Workaround

None.

Bug 29882931 - MySQL: Replicat Abends if the SOURCEDEF Parameter is used while upgrading from the Oracle GoldenGate 18c release to the 19c release

Oracle GoldenGate Replicat abends with the error "OGG-01163 Bad column length (6) specified for column ID", if you use the SOURCEDEF parameter while upgrading from the Oracle GoldenGate 18c release to the 19c release.

Workaround

Do not use the SOURCEDEF parameter while upgrading.

Bug 27028084 - MySQL: Binary Log File Size in Remote Capture

For remote capture in Oracle GoldenGate MySQL, binary log files greater than 4 GB in size are not supported. Consequently, while positioning an offset, an offset greater than 4294967295 is also not supported.

Workaround

None.

Bug 30023717 - Oracle: Parallel Replicat occasionally fails with ORA-1403 when processing transactions with extremely high number of inter-dependencies

In rare situations of a transaction with a high number of potential dependencies, Parallel Replicat abends with the error ORA-1403: "no data found".

Workaround

Restart Replicat. The original transactions will correctly be applied while maintaining global data consistency.

Bug 30207560 - Oracle: GGSERR log file cannot rollover on Windows when Oracle GoldenGate processes are open

The ggserr.log file is configured to automatically rollover after a default or modified size. However for Oracle GoldenGate on Windows, the ggserr.log file cannot rollover when there are processes running.

Workaround

Stop all running Extracts, Pumps, Replicats, then restart them. This will allow the ggserr.log to rollover.

Bug 30250118 - Oracle: AIX and Solaris stats for auto-CDR doesn't report back correctly

When Sharding is implemented on Oracle GoldenGate 19c on AIX or Solaris with Oracle database 18c, auto-CDR doesn't report back stats correctly.

Workaround

None.

Release 19c (19.1.0) — May 2019 Initial Release

Bug 27938481 : Error message not generated when ALLOWDUPTARGETMAP with different KEYCOLS is used in Parallel Replicat

Oracle GoldenGate doesn't generated an error message for ALLOWDUPTARGETMAP with different KEYCOLS, which is not supported in non-integrated parallel Replicat. ALLOWDUPTARGETMAP is not supported in integrated parallel Replicat and in integrated Replicat. ALLOWDUPTARGETMAP with different KEYCOLS is supported in classic and coordinated Replicat.

Workaround

None.

Bug 29761322 - Oracle: Multibyte CLOB encoding is incorrect when Extract writes 12.2 trail format after software upgrade to 18.1 or later

When Extract writes multibyte CLOB data to the trail in the same format as the existing trail file format, Extract writes MBCS CLOB data in incorrect encoding. This happens when the trail file format is 12.2 or older or FORMAT RELEASE is used to specify a format that is older than 12.2.

Workaround

Perform an explicit ETROLLOVER after software upgrade if the current trail file format is 12.2 and there are multibyte CLOBs.

Bug 25890033 - DB2 for i: Issue with multi-journal support

It is still recommended that Extracts on DB2 for i read from a single journal. However, this does have a side effect that if Heartbeat is enabled, that the heartbeat tables must be journaled to the same journal as the data journal being used for replication.

Workaround

It is recommended that you use DELETE/ADD TRANDATA for the heartbeat table to enable journaling to the correct journal.

Bug 29778593 - DB2 LUW, DB2 for i, DB2 z/OS, Teradata: Heartbeat lag command does not display incoming and outgoing paths

Heartbeat lag command does not display incoming and outgoing paths. However, the heartbeat and heartbeat history tables contain the valid data.

Workaround

None.