Known Issues for the Replication Server Option for Oracle

Learn about known issues and workarounds for Replication Agent for Oracle.

Replication Agent for Oracle Issues
CR# Description
722892

Replication of Oracle BFILE data fails.

Workaround: None.

722261

Replication Agent for Oracle instance setup fails with a resource file.

When you attempt to create and configure a Replication Agent for Oracle instance using a resource file, the instance creation and configuration may fail, even when the resource file validates successfully.

Workaround: Create and configure the Replication Agent for Oracle instance manually.

722324

Replication Agent for Oracle does not support the replication of DDL operations executed by Oracle system users, such as SYS or SYSDBA.

Workaround: Make sure a non-system user performs all DDL operations that you want to replicate.

722162

Permission is too broad for the Replication Agent for Oracle utilities.

Workaround: After installing Replication Agent for Oracle, change permissions for the rao_admin.sh and rao.sh files to 700 (read/write/execute for user, no permissions for group and other).

722157

Response file malicious SQL vulnerability.

Malicious code inserted in the response-file entries for pds_username and pds_password could affect the SQL used to create a user ID and grant required privileges at the primary Oracle database.

Workaround: Only the administrator has the privileges necessary to create a Replication Agent instance with a response file. The administrator should therefore check the response file for security threats.

722121

The pdb_setrepproc command fails in Replication Agent for Oracle if ra_admin_owner and pds_username are different.

Workaround:
  1. Suspend your Replication Agent instance.
  2. Set ra_admin_owner and pds_username to the same Oracle user ID. You must also set pds_password.
  3. Use test_connection to test connectivity to the primary database.
  4. Mark your stored procedure for replication:
    pdb_setrepproc myproc, mark
    where myproc is the procedure being marked.
  5. Set pds_username and pds_password back to their original values.
  6. Resume replication.
722089

Login to Oracle fails with pds_username and ddl_username due to case-sensitivity.

The Replication Agent pds_username and ddl_user configuration parameters are not case-sensitive. In Replication Agent for Oracle, these parameters are case-insensitive, which can result in login failure.

Workaround: None.

722068

Permission is too broad for the Replication Agent configuration file.

Workaround: Change permissions for the configuration (.cfg) file to 600 (read/write for user, no permissions for group and other).

721313

Replication Agent replicates corrupt unicode character for code point 1513.

Workaround: None.

720525

Upgrade from Replication Agent for Oracle 15.7.1 to Replication Agent for Oracle 15.7.1 ESD #2 fails due to prefix string case.

The upgrade from Replication Agent for Oracle 15.7.1 to Replication Agent for Oracle 15.7.1 ESD #2 may fail if:

  • you initialize a Replication Agent for Oracle 15.7.1 ESD #2 on its initial startup with a default value for ra_admin_instance_prefix, or
  • you set pdb_xlog_prefix to a value different from ra_admin_instance_prefix or to non-default value different from ra_admin_instance_prefix.
The upgrade fails silently: No error is reported for the upgrade failure.
Workaround: If the upgrade fails silently after initialization on initial startup with a default value for ra_admin_instance_prefix:
  • Update the prefix and the upg_from_ver columns of the ra_agent table in the primary database:
    UPDATE owner.ra_agent SET prefix=upper(prefix), upg_from_ver=6100 WHERE prefix='ra_'; commit;
    where owner is specified by ra_admin_owner, and ra_ is the default for ra_admin_instance_prefix.
If the upgrade fails silently after you set pdb_xlog_prefix to a value different from ra_admin_instance_prefix or to non-default value different from ra_admin_instance_prefix:
  1. Shut down the Replication Agent instance.
  2. Manually update the configuration file entry for ra_admin_instance_prefix, changing any lowercase characters to uppercase.
  3. Update the upg_from_ver column of the ra_agent table in the primary database:
    UPDATE owner.ra_agent SET upg_from_ver=6100 WHERE prefix='XX_'; commit;
    where owner is specified by ra_admin_owner, and XX_ is the value you set ra_admin_instance_prefix to in the configuration file.
720270

Replication Agent login fails after ra_finalize_upgrade command.

Workaround: After you upgrade to Replication Agent for Oracle 15.7.1 ESD #2 and invoke ra_finalize_upgrade, restart your Replication Agent instance before attempting to log in.

718198

Replication of off-row LOB insert and rollback operations fails when dynamic SQL is enabled for the connection.

Oracle-to-Oracle replication of an off-row LOB insert or rollback may fail due to the DSI being down when the Replication Server dynamic_sql parameter is set to on.

Workaround: If you are trying to replicate an off-row LOB insert and cannot set dynamic_sql to off, log on to Replication Agent, and create a table-level replication definition on the affected table:
1> rs_create_repdef my_table
2> go
where my_table is the table affected by the dynamic SQL statement.
714867

Replication Agent for Oracle may replicate LOB data as null.

When an Oracle 11g Release 2 database installed on HP Itanium (64-bit) or IBM AIX (64-bit) uses the DBMS_LOB.LOADFROMFILE procedure to update a LOB, Replication Agent for Oracle may replicate the LOB data as null.

Workaround: None.

714588

Replication may fail for large character ANYDATA.

Replication Agent for Oracle may go to the Replication Down state with a ParseException error when processing data of type ANYDATA containing a large character value on Oracle 11g Release 2.

Workaround: None.

713588

Replication Agent for Oracle goes to Replication Down state due to Oracle trigger problem.

When you create a new trigger on a table in Oracle 11.2.0.1, the trigger is disabled by default. Subsequent triggers created on the table are enabled by default.

Workaround: After you create a new trigger on a table in Oracle 11.2.0.1, explicitly enable the trigger state using the Oracle command:

ALTER TRIGGER <trigger_name> ENABLE
where <trigger_name> is the name of the new trigger.

Alternately, you can use the ENABLE ALL TRIGGERS clause of Oracle ALTER TABLE command to enable all triggers defined for the table.

713300

Replication Agent for Oracle replicates LOB of incorrect size due to LogMiner error.

Oracle LogMiner occasionally indicates and provides Replication Agent for Oracle with LOB data that is longer than the correct length.

Workaround: None.

711895

Replication Agent for Oracle does not support the replication of SecureFile LOB data in reference-partitioned tables.

Workaround: None.

709173

When the Replication Agent processes records with LOB for tables with partition by hash on Oracle 11.1 for HPIA64 and Windows platforms, this exception error is encountered:

Could not mine or match a RAW LogMiner record for record <...Operation <UNSUPPORTED> ... SQL Redo <Unsupported> > from SCN [<xxx>, <xxx>].>

Workaround: None.

708629

Unable to support Oracle SecureFile LOB for all platforms.

Workaround: Contact the Sybase Technical Support.

708568

Cannot create connection to Oracle replicate dataserver when tnsnames.ora file entry has Oracle Transparent Application Failover (TAF) enabled.

Workaround: Remove the "FAILOVER_MODE" entry from the replicate dataserver alias in the tnsnames.ora file.

707428

OracleLogRecordProcessingException error is encountered in Oracle version 11.1.0.6.

When you alter a table with truncate partition in the primary database, where the table is a partitioned table with LOB and sub-partitions, an OracleLogRecordProcessingException error is encountered. This is encountered only in Oracle version 11.1.0.6.

Workaround: You can either:
  • Use this command:
    ra_config skip_lr_errors, true
    go
    resume
    go
    or,
  • Upgrade to Oracle 11.1.0.7 or later.
707274

Resume fails because Oracle LogMiner fails to start with start SCN <0>.

Workaround: Resume Replication Agent.

706919

Oracle LogMiner produces invalid results for FLOAT data with precision greater than 36.

This behavior occurs in Oracle 10g Release 2 through Oracle 11g Release 2.

Workaround: For Oracle 11g Release 2 Linux-x86-64 platforms, install the Oracle patch for bug #14020842.

703563

Replication Agent for Oracle fails to initiate when ra_admin_owner is different from pds_username.

Workaround:
  1. Set ra_admin_owner and pds_username to the same Oracle user ID.
  2. Initialize the Replication Agent instance with ra_admin init.
  3. Reset pds_username to a different user ID than that for ra_admin_owner, and change pds_password.
  4. For every Replication Agent system object, grant all privileges to the user ID specified by pds_username:
    GRANT ALL ON raaowner.RA_AGENT TO pdsuser
    GRANT ALL ON raaowner.RA_TABLE TO pdsuser
    GRANT ALL ON raaowner.RA_PROCEDURE TO pdsuser
    GRANT ALL ON raaowner.RA_XLOG_SYSTEM_  TO pdsuser
    GRANT ALL ON raaowner.RA_PCALL TO pdsuser
    GRANT ALL ON raaowner.RA_PROCACTIVE TO pdsuser
    GRANT ALL ON raaowner.RS_DUMP TO pdsuser
    GRANT ALL ON raaowner.RA_DUMPSH TO pdsuser
    GRANT ALL ON raaowner.RS_MARKER TO pdsuser
    GRANT ALL ON raaowner.RA_MARKERSH TO pdsuser
    where raaowner is the user ID indicated by ra_admin_owner, and pdsuser is the user ID indicated by pds_username.
  5. Restart your Replication Agent instance, and continue marking tables for replication.
702924

The alter table DDL command fails in Replication Agent.

In Oracle 10g, when a new column is added to a table with not null and default value, Oracle also updates the existing rows with the default column value. When the update to the existing rows is performed, an exception shows up since Replication Agent has not processed the alter table DDL yet, which means it has not updated the article to add the new column. Replication Agent has no way to determine whether this is a normal user table update or an internal update that is generated by DDL transaction.

Workaround: Use pdb_skip_op command to skip the internal update DML log record in the alter table DDL transaction.
  1. Locate the internal update DML log record in the Replication Agent error log with LRTRACE set to on. Example:
    T. 2012/03/25 20:27:12.293 LRTRACE com.sybase.ds.oracle.logmnr.OracleOperationPr Processing LogMiner Record 
    <OPID <0x0000.00bab3a6.0000:0001.00000be3.000000bf.00f0>, Timestamp <2012-03-25 20:27:12.0>, XID <0x0004.002b.00000c39>, 
    Serial# <7528>, Session# <133>, Session Info <login_username=QAMUSER client_info= OS_username=wliao 
    Machine_name=rqavmrh1 OS_terminal= OS_process_id=31314 OS_program_name=dcoracle@rqavmrh1 (TNS V1-V3)>, User Name <QAMUSER>, 
    Object ID <93318>, REL_FILE# <5>, DATA_BLK# <893>, DATA_OBJD#<93318>, Operation <UPDATE>, Op Code <3> Rollback <0> SSN <0> 
    CSF <0> SQL Redo <update "QAMUSER"."QAM_INT" set "FEE_SUB_MNEM_CD" = ' ' where "FEE_MNEM_CD" = 'SYB' and 
    "FEE_TYP_DESC" = 'UNWIRED ENTERPRISE ' and "LST_UPDT_DTTI" = TO_TIMESTAMP('01/02/2009 00:00:00.000000000') and 
    "LST_UPDI_USER_ID" IS NULL and "FEE_SUB_MNEM_CD" IS NULL;> >.
  2. Collect SCN, THREAD, and RBA of that update log record, and use pdb_skip_op command to skip it.
    pdb_skip_op add, SCN, THREAD, RBA
  3. Resume Replication Agent.
702863

Oracle does not support tables and tablespaces compressed for OLTP.

Oracle LogMiner for Oracle 11g Release 2 does not support tables and tablespaces compressed for online transaction processing (OLTP).

Workaround: If you want to replicate tables compressed for OLTP, apply Oracle patch #129050503.

702654

Replication Agent aborts with LTI formatting error.

The Replication Agent is aborted with LTI formatting error on a locator value due to Oracle LogMiner limitation on decimal precision support.

Workaround: None. Please contact Sybase Technical Support.

691433

Oracle LogMiner zeroes out fractional second on timestamp columns.

Replication of millisecond section of timestamp datatype column fails if the primary Oracle version is earlier or equal to 10.2.0.4.

Workaround: You can either:
  • Upgrade to Oracle 10.2.0.5 or 11g. This issue has been fixed in these versions. Or,
  • Apply Oracle patch 4727401, if available for your platform and Oracle version.
Note: Replicating these tables is not supported in Oracle 10.2 due to lost part of a millisecond:
  • Tables created with PARTITION BY HASH (timestamp_col).
  • Tables with timestamp columns as primary key or unique index.
663726

rasd_restore does not shutdown Replication Agent instance when run with a parameter.

Workaround: Run rasd_restore without specifying a parameter.

645980

Exadata Hybrid Columnar Compression (EHCC) not supported.

Replication Agent for Oracle does not support the replication of "columnar compressed data because Replication Agent for Oracle does not support Exadata. Do not use the compress for query clause or the compress for archive clause in an Oracle table definition because these clauses are intended only for EHCC data.

Workaround: None.

642804

Incorrect pdb_auto_create_repdefs command description in the output display.

The ra_config displays an incorrect description for pdb_auto_create_repdefs.

Workaround: See the Replication Agent Reference Manual for the correct description of the pdb_auto_create_repdefs command.

641011

DDL statements introduced in Oracle 11g cannot be filtered.

pdb_setrepddl does not filter these DDL statements introduced in Oracle 11g:
  • Oracle 11.1 – create flashback archive, alter flashback archive, and drop flashback archive.
  • Oracle 11.2 – alter database link, create edition, and drop edition.

Workaround: None.

630089

Oracle resynchronization limitation.

Replication Agent for Oracle does not support the resynchronization scenario described in the Resynchronizing the Active and Standby Databases in a Warm Standby Application section in the Replication Server Heterogeneous Replication Guide.

Workaround: None.

628568

Replication Agent initialization may fail when tables are automatically marked for replication.

The pdb_xlog init command may fail when pdb_automark_tables is set to true.

Workaround: Set the pdb_automark_tables to false before you issue pdb_xlog init. You can set pdb_automark_tables to true after Replication Agent has been initialized.

624714

Limitation of running Replication Agent as a Windows service on a Microsoft Windows 64-bit platform.

Currently, you cannot use the Microsoft Windows Services utility to start, stop, remove, or install a Microsoft Windows service instance of Replication Agent.

Workaround: Use agt_service.bat to start, stop, remove, or install a Replication Agent instance.

624026

Supplemental logging not enabled error.

The initialization of the Replication Agent for Oracle can fail with a message that supplemental logging is not enabled even if the supplemental logging requirements specified in the Replication Agent Primary Database Guide are met. This happens when the Replication Agent initialization has already failed because of a disabled supplemental logging configuration before the configuration was corrected. Replication Agent caches the primary database supplemental logging configuration on initial communication with the primary database after start-up, but does not refresh it after a configuration change.

Workaround: Shut down and restart Replication Agent after you enable supplemental logging in the primary database.

619663

Replication Agent reports an incorrect number of RMAN-deleted archive redo log files when RMAN utility locale is not English.

Replication Agent searches for the word “Deleted” when counting the number of deleted archive redo log files that have been truncated by the Oracle Recovery Manager (RMAN) utility. For language modules other than English, the count fails because Replication Agent cannot find the word “Deleted.”

Workaround: Specify the locale behavior of your Oracle software by setting the NLS_LANG Oracle environment parameter to a supported English character set such as american_america.zhs16gbk. For example:
  • On Windows: set nls_lang=american_america.zhs16gbk
  • On UNIX: setenv NLS_LANG american_america.zhs16gbk
615023

Replication definition is not created when table owner is not specified.

When your primary database is Oracle and the recycle bin is enabled, rs_create_repdef cannot create a replication definition for marked tables unless you specify a table owner.

Workaround: Specify a table owner in the rs_create_repdef syntax. For example:

rs_create_repdef qaxuser.qax_tab1

where qaxuser is the table owner.

611175

Java Virtual Machine stops responding due to thread stack overflow.

When Replication Agent for Oracle or UDB, running on an HP-UX 64-bit machine, processes high volume of data with an insufficient thread stack size memory setting, the Java Virtual Machine (JVM) may crash due to a thread stack overflow:

Pid xxxx was killed due to failure in writing to user register stack - possible stack overflow.
Workaround: Adjust the HP-UX PTHREAD_DEFAULT_STACK_SIZE environment variable to increase the default thread stack size to accommodate Replication Agent. To do this for all instances of Replication Agent, add the following two lines to the $SYBASE/RAX-15_5/bin/ra.sh file and set a proper stack size before running Replication Agent:
PTHREAD_DEFAULT_STACK_SIZE=2048000
export PTHREAD_DEFAULT_STACK_SIZE
596320

Owner information is not supported in function replication definition for Oracle.

Replication Server does not support specifying owner information of stored procedures in the function replication definition for Oracle. As such, Replication Agent does not send that information to Replication Server. Because the owner information is not available, the replicated stored procedure fails to execute at the Oracle standby database.

Workaround: For each stored procedure replicated from active to standby database, create a corresponding function string that specifies the owner information of the target stored procedure.

To alter the function string class of the standby connection to a customized function string class, which is inherited from rs_oracle_function_class:

alter connection to dco2stb.ordb (standby connection)
set function string class to my_oracle_function_class 
go
585513

Initialization failure when isolation level is set to serializable in an Oracle RAC environment.

In an Oracle Real Application Clusters (RAC) environment, Replication Agent may fail during initialization when you set the isolation level to serializable. This failure is due to an internal Oracle error.

Workaround: Install the Oracle Clusterware Release 2 (10.2.0.4) patch set for Oracle Database 10g Release 2 or upgrade to Oracle Database 11g Release 1.

563912

Incorrect lr_ntext_byte_order command default value in the output display.

The ra_config lr_ntext_byte_order command output incorrectly displays the default value as "<not_configured>" instead of big.

Workaround:See the Replication Agent Reference Manual for the correct information on this command.

405207

create table DDL has limited support for UDD object types.

Replication of a create table DDL command is not supported for tables with UDDs, when a UDD has a nested object type.

Workaround: Reinitialize the Replication Agent.

405206

alter type DDL command has limited support.

During replication of the alter type command, the type change does not propagate to the dependents of the type.

Workaround: Reinitialize the Replication Agent.

397826

Replicating a sequential update to a primary key column fails.

For example, this update will not be replicated correctly:
update test_table set pkey = pkey + 1

Workaround: Change the primary key column or add a unique index that is more broad.

 

Changes to the table replication definition in Replication Server 15.2 or earlier are not recognized by Replication Agent.

Replication Agent caches a copy of the table replication definition that it reads from Replication Server. Because Replication Server 15.2 or earlier does not automatically update Replication Agent of changes to the table replication definition, Replication Agent does not know when changes have been made to the table replication definition.

Workaround: Before changing the table replication definition in Replication Server 15.2 or earlier, quiesce Replication Agent and wait for it to reach ADMIN state. Replication Agent will use the new table replication definition when you resume replication.

 

Error while loading shared libraries when running on Red Hat Linux 5.0.

You may be unable to start Replication Agent due to this error message:

Error while loading shared libraries.

Workaround: Check the system configuration and change the firewall configuration from enforcing to permissive. You must have root or sudo permission to make this change.