Bidirectional Non-ASE to Non-ASE Replication

Replication occurs both to and from each database in a bidirectional non-ASE to non-ASE replication scenario.

Each non-ASE database must have both a Replication Agent and an ECDA database gateway.

Replication System Components

The following components are required for a bidirectional non-ASE primary to non-ASE replicate configuration:
  • Non-ASE primary data server. For example, DB2 UDB on UNIX, Windows, and Linux.

  • Replication Agent designed for the primary data server. For example, Replication Agent for Oracle, Microsoft SQL Server, and DB2 UDB.

  • ExpressConnect (for Oracle or HANA DB) to replicate to Oracle or HANA DB, or a relevant ECDA database gateway designed for the replicate data server, such as the ECDA Option for ODBC (for DB2 UDB).

  • Replication Server.

  • ExpressConnect (for Oracle or HANA DB) to replicate to Oracle or HANA DB, or a relevant ECDA database gateway designed for the replicate data server, such as the ECDAOption for ODBC for Microsoft SQL Server.

  • Replication Agent designed for the “replicate” data server acting as a primary database. For example, Replication Agent for Linux, Microsoft Windows, and UNIX.

  • Non-ASE replicate data server. For example, Microsoft SQL Server.

Replication System Issues

From a technical standpoint, you can set up a bidirectional replication scenario using only two Replication Server database connections (one “primary-and-replicate” connection for each database).

Note: In the following description of bidirectional replication issues, the two databases are referred to as Database #1 and Database #2, because both databases take on both “primary” and “replicate” roles in the replication system.
Consider the following issues in a bidirectional non-ASE primary to non-ASE replicate configuration:
  • To use direct-load materialization, you must have two connections for each database: one for incoming data and one for outgoing data. You must create the connection for incoming data—which is used by Replication Agent—using the appropriate connection profile (rs_rs_to_<replicate>_ra, where <replicate> is oracle, mssql, udb, or hanadb). Use a connection profile supporting normal replication to create the connection for outgoing data.

  • The Replication Server primary database connection for Database #1 must include a valid user ID and password for the primary database. This user ID must be the same user ID specified in the Replication Server replicate database connection for Database #2 (the maintenance user). This user ID must have authority to apply transaction operations to replicate tables in Database #1.

  • The Replication Agent for Database #1 must be configured to bypass maintenance user transactions to prevent a transaction from returning from the replicate tables in Database #2. See the appropriate Replication Agent documentation for details on configuring the Replication Agent to bypass maintenance user transactions.

  • The Replication Server primary database connection for Database #2 must include a valid user ID and password for the primary database. This user ID must be the same user ID specified in the Replication Server replicate database connection for Database #1 (the maintenance user). This user ID must have authority to apply transaction operations to replicate tables in Database #2.

  • The Replication Agent for Database #2 must be configured to bypass maintenance user transactions to prevent a transaction from returning from the replicate tables in Database #1. Refer to the appropriate Replication Agent documentation for details on configuring the Replication Agent to bypass maintenance user transactions.

  • The Replication Server replicate database connections to Database #1 and Database #2 must be created using the correct profile for the replicate database. The connection profile specifies the correct function-string classes and error classes for the replicate database, and additionally may contain class-level translation definitions and replicate database object creation, to support replication.