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

708792

Replication Server fails to load the Enterprise Connect for Oracle (ECO) library files on Windows x86 32-bit system due to missing Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package MFC security update.

Workaround: Download and install the Microsoft Visual C++ 2005 security update:

http://www.microsoft.com/en-us/download/details.aspx?id=26347

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

707238

pdb_setrepproc procedure marking execution fails.

Replication Agent for Oracle fails to mark a procedure when the procedure owner (schema) is different than the pds_username user.

Workaround:
  1. (As a procedure owner) Restore the procedure to the state prior to the attempted marking.
  2. (As the pds_username user) Drop the shadow table. The ra_admin_prefix, procedure_name, and shadow_table_id (always "sh") determine the shadow table name. For example, if ra_admin_prefix is "ra_", procedure_name is "qay_proc3", then the shadow table name is "ra_qay_proc3sh".
  3. Create a public synonym for the RA_PCALL sequence:
    sqlplus> create public synonym RA_PCALL for RA_PCALL;
  4. (In RAO) Execute pdb_setrepproc again:
    isql> pdb_setrepproc procedure_name, mark
    isql> go
707122

pdb_xlog command fails if xlog is created on Oracle 10g, and then recreated on Oracle 11g.

When xlog is created on Oracle 10g, removed, then recreated on Oracle 11g, the pdb_xlog command fails because the xlog remove process does not clear the RASD repository and keeps the installed_pdbver and installed_buildnum in the repository, so the current version is different from the installed_pdbver.

Workaround: None.

705702

The DDL commands that SYS user execute are not filtered.

Workaround: Add SYS user to DDL filters.

705418

IllegalArgumentException error is encountered when processing ANYDATA datatype column that contains an the off-row stored LOB with size larger than 2K.

Workaround: None.

703563

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

Workaround: Grant dba to the pds_username.

703684

Oracle LogMiner needs support for pdb_thread_filter.

pdb_thread_filter filters all activities in an Oracle instance redo log thread or threads during replication, and displays a list of threads being filtered. Currently, this configuration can be set in 15.7.1, but does not take effect.

Workaround: None.

703668

Unable to put Replication Agent 15.7.1 in replicating mode. The Oracle LogMiner must be installed error is encountered.

Workaround: Perform these steps to set up the Oracle LogMiner:
  1. Go to $ORACLE_HOME/rdbms/admin.
  2. Log in as a 'sys as sysdba' user.
  3. Execute the Oracle LogMiner installation script:
    @dbmslm.sql
  4. After LogMiner is installed, create a public synonym so that you do not have to log in as the owner to execute LogMiner functions:
    CREATE PUBLIC SYNONYM DBMS_LOGMNR FOR
       SYS.DBMS_LOGMNR;
    
    Note: This step is required if you are using Oracle 10g.
  5. Grant these privileges to pds_username:
    • EXECUTE_CATALOG_ROLE
    • select on V_$LOGMNR_CONTENTS
    • select on V_$LOGMNR_LOGS
    • select any transaction
    • debug ON "SYS"."DBMS_LOGMNR"
  6. Restart your Replication Agent instance.
702924

The alter table DDL command fails in RepAgent.

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 RepAgent has not processed the alter table DDL yet, which means it has not updated the article to add the new column. RepAgent 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.
702837

Replication Agent for Oracle (RA) no longer requires direct access to the archive log, unless configured to do non-RMAN truncation since the switch to using Oracle LogMiner.

However, currently, RAO checks during pdb_archive_path configuration and displays error if the archive log is not visible or readable. This prevents you to configure RAO to run from a remote host. The requirement is for RAO to run from a remote host as long as the remote host platform is the same as the source database platform.

Workaround: When Replication Agent and the primary database are not located in the same host, set the pdb_archive_path parameter of Replication Agent to a valid local directory, which matches the actual database archive path on the remote host.

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.

695407

In Oracle 10g Release 2, if LogMiner uses a dictionary to scan the redo log files, these user-level SQL operations are missing from the V$LOGMNR_CONTENTS view:

  • LOB_TRIM
  • LOB_WRITE
  • SEL_LOB_LOCATOR

Because these operations are used to update off-row XML data, Replication Agent for Oracle cannot replicate the rollback of transactions that use these operations on off-row XML data.

Workaround: None.

693755
Incompatible replicated CLOB data occurs when the primary charset is multiple-byte or unicode, and:
  • The endian for the primary and target databases are different, or,
  • The The target database charset is not UTF-16BE.

Workaround: None.

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

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.

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.

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.

 

Disabling the recyclebin in Oracle 10.1.

The Oracle “recyclebin” configuration property was not added until Oracle 10.2 and is available in Oracle 11g. To disable the recycle bin in Oracle 10.1, set the Oracle hidden property:

ALTER SYSTEM SET “_recyclebin”=FALSE SCOPE = BOTH;