Review the following replication considerations for Oracle targets:
If Oracle targets use Oracle 11.2.0.2 or later 11.2 patches, Data Replication can suppress Oracle database triggers so that they do not become active on target objects during replication. The Data Replication Oracle user must be granted special privileges. To grant these privileges, run the following Oracle stored procedure:
For Oracle 11.2.02 and later 11.2 patches, use dbms_goldengate_auth.grant_admin_privilege.
For example, the following statement runs the stored procedure for Oracle 11.2.02 to grant the special privileges to the IDR_USER:
Release 1, Data Replication cannot suppress Oracle database triggers.
To disable the suppression of triggers for Oracle targets, set the apply.disable_target_triggers parameter to 1 on the
Runtime Settings
tab >
Advanced Settings
view.
If you set the
apply.global_transaction_support
runtime parameter to 0 on the
Runtime Settings
tab >
Advanced Settings
view, use one of the following methods to avoid deadlocks and lock contention among concurrent threads:
Configure the Oracle INITRANS parameter for the mapped target tables.
If you distribute changes across Applier threads by rows, set the Oracle INITRANS parameter for the mapped target tables to a value that is greater than or equal to the number of Applier threads plus two:
INITRANS_value >= (
number_of_threads
+ 2)
If you use Applier subtask threads, set the Oracle INITRANS parameter for the mapped target tables to a value that is greater than or equal to the number of Applier subtask threads plus two:
INITRANS_value >= (
number_of_subtask_threads
+ 2)
You must reorganize the mapped target tables after changing the INITRANS value. If you do not reorganize the tables, the change to the INITRANS value does not apply to the existing table rows.
Set distribution by tables for all of the tables and set the
apply.subtasks_enabled
runtime parameter to 0 to disable Applier subtask threads.
For Oracle targets, you can use SQL Apply mode or Merge Apply mode. Informatica recommends that you use SQL Apply mode because it typically provides better performance. However, if the replicated tables contain bitmap indexes, Merge Apply mode is faster than SQL Apply.
The Applier cannot replicate change data from any source type to Oracle LOB columns in Merge Apply mode. If the Applier attempts to do so, it fails.
Oracle 11
g
Release 1 introduced system partitioning. For Oracle 11
g
Release 1 and later targets, Data Replication does not support replication of data to system partitioned tables.
Data Replication uses the OCI direct path load interface to load data to audit log tables on Oracle targets. The OCI direct path load interface does not support loading data to tables with quoted names that include lowercase characters. If you use Merge Apply to load data to Oracle targets, ensure that the table names on the target do not include lowercase characters. If you use Audit Apply to load data to Oracle targets, set the
apply.direct_load_for_audit_tables
runtime parameter to 0 to use the OCI library instead of the OCI direct path load interface to load data to audit log tables that have quoted names.
By default, the Applier and InitialSync replicate the source empty strings as null values to an Oracle target. If the source columns that include empty strings are mapped to the NOT NULL target columns, use the
oracle.replace_empty_string_characters
,
oracle.replace_empty_string_enabled
, and
oracle.replace_empty_string_not_null_only
runtime parameters to configure the Applier and InitialSync behavior and avoid the NOT NULL constraint violation. Set the
oracle.replace_empty_string_enabled
parameter to 1, and optionally edit the default values for the