Known Issues for Oracle

Learn about known issues and workarounds for Replication Agent that are specific to Oracle.

Replication Agent for Oracle Issues
CR# Description
738928 Replication Server does not include the hds_oracle_new_setup_for_replicate.sql script for the Oracle-to-Oracle database resynchronization.

Workaround: Use the Oracle-to-Oracle Database Resynchronization Script .

738185

Random rollbacks on index-ordered tables may fail to replicate.

A random rollback executed in parallel on an index-ordered table may fail to replicate.

Workaround: None.

735422

Replication failure for stored procedures with CHAR or NCHAR parameters

Replication Agent for Oracle may fail to replicate stored procedures that have parameters of type CHAR or NCHAR.

Workaround: If you manually create the replication definition in Replication Server for such a stored procedure, use varchar for parameters of type CHAR and NCHAR.

732183

Replication of update and delete operations on NUMBER data fail

After direct load materialization, replication of update and delete operations on Oracle NUMBER data may fail if the NUMBER value is in a searchable column or is more than 36 digits in length.

Workaround: For Oracle 11.2.0.3 on Linux, you can install an Oracle patch for p14020842. For other versions, there is no workaround.

723789

Resource file verification fails

Verification of the resource file fails with this parameter setting:
pds_sa_useranme=SYS AS SYSDBA

Workaround: Do not use the SYSDBA role in pds_sa_username.

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.

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.

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.

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.

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.
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.

705702

The DDL commands that SYS user executes are not filtered.

Workaround: Add SYS user to DDL filters:
pdb_setrepddl user, sys, disable
go
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.

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.

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 and recycle bin is enabled.

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.

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.