SharePlex integrates with Oracle Clusterware cluster hardware and software to maintain the high availability of data capture and uninterrupted replication to your targets. If the node where SharePlex is running fails or must be taken out of the cluster for maintenance, SharePlex can be started on another server by the cluster software. SharePlex start and stop is controlled through the cluster.
These instructions assume that the cluster solution is already installed, tested, and is functioning, and they are not a substitute for the cluster vendor's documentation. Additional steps that are specific to your cluster installation may be required.
The following diagram shows SharePlex installed into an Oracle RAC cluster:
Set the VIP for SharePlex in the system environment on each node.
Map a host alias to the virtual IP address in the /etc/hosts file (on Unix and Linux) or the hosts file (on Windows) on all nodes to establish a consistent host name across all nodes in the cluster. The alias is exported in the SharePlex user profile and used in the SharePlex configuration parameters. Alternatively, this mapping can be done in a nameserver. The alias cannot contain non-alphanumeric characters, such as underscores ( _ ) or dots (.). For example:
220.127.116.11 LocalSys #permanent IP address
18.104.22.168 HACluster #floating IP address
Create the same tns_alias name for SharePlex to use to connect to the database on each node. A tns_alias establishes global connection information that supercedes local instance names and enables SharePlex to connect to the failover instance without requiring a configuration reactivation. SharePlex identifies the correct Oracle instance from the configuration file. Set load balance to off and set failover to on.
Note: Set load balance to off and set failover to on. (Load balancing cannot be enabled during the activation of a SharePlex configuration. A workaround is to disable load balancing before activation and then enable it after activation.)
SPLEX = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = RAC1)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = RAC2)(PORT = 1521)) ) (LOAD_BALANCE = OFF) (FAILOVER = ON) (CONNECT_DATA = (SERVICE_NAME = ORCL) ))
If the Oracle instances in the cluster have different ORACLE_HOMEs, edit the oratab file on each node and on the nameserver, if applicable, to use a symbolic link in place of the actual ORACLE_HOME path:
Install SharePlex according to the installation instructions for the platform you are using.
Note the following:
Will SharePlex install be using a BEQUEATH connection? No
Enter the TNS alias for which SharePlex should be installed: SPLEX
Note: On Windows, SharePlex must be installed on all nodes of a cluster, on the same port number, with identical path names. This is required to make the binaries and the required MKS Toolkit components available to all nodes, and to establish Registry entries. Additionally, Database Setup must be run on each node after installation.
Incorporate SharePlex into the cluster failover routines so that it migrates with the other applications during failover and so the sp_cop process is started on the adoptive node by the cluster software. At minimum, this includes creating a startup script for SharePlex and a cluster script for SharePlex to handle failover. Note the following:
If possible, configure SharePlex and Oracle into a single global cluster package. The combination of SharePlex and Oracle in the same package allows the cluster software to start and stop SharePlex and Oracle in the proper sequence if any component of the package fails. Configure Oracle to start before SharePlex.
Use the SharePlex tns_alias in the datasource portion of the configuration file if this is a source SharePlex instance or in the routing map if this is a target SharePlex instance:
The SharePlex security groups provide access control to the SharePlex command and control system. Without proper configuration of these groups, anyone with permissions on the system can use the commands that view, configure, and control data replication.