Configuring the Network on Master

Configuring the network can be divided into four parts, creating database links (if needed), maintaining of necessary data in Connectivity, maintaining of necessary data in Replication and checking background processes.

Contents

Database Links

When creating database links, they must include a username and password because the replication process is run in Oracle’s job queue and it only supports database links with username and password. Anonymous database links will result in an error in the replication process.

  1. To create a database link in SQLPlus or similar tool enter the following SQL:
CREATE PUBLIC DATABASE LINK linkname 
  CONNECT TO username IDENTIFIED BY password
  USING 'tnsname';
Parameter Description Alternatives/Suggestion
linkname the name of the link replica1
username the name of the Appowner on the replica  
password the password to the Appowner on the replica.
Note! Changing the Appowner password on the replica makes the database link invalid to use.
 
tnsname the name of the tnsentry used in the connect string to the replica define in the master Tnsnames.ora.  

For more information regarding Database Links see Administrator’s Guide and SQL Reference in Oracle documentation.

Connectivity Configuration

Some configuration must be done in Connectivity to support replication.

Open the Connectivity folder.

  1. Open Message Media.
    There should be a row with Media Code = REPLICATION. This row is installed with Connectivity so it should always be present.
  2. Open Message Class.
    There should be two rows, one with Class Id = IFS_REPLICATION_CONFIGURATION and one with Class Id = IFS_REPLICATION. These rows are installed with Connectivity so they should always be present.
    1. The row with Class Id = IFS_REPLICATION_CONFIGURATION shall have Send = True, Receive = False and Action = Replication_Util_API.Receive_Configuration__.
    2. The row with Class Id = IFS_REPLICATION shall have Send = True, Receive = False and Action = Replication_Util_API.Receive_Message__.

    Note! A site that should be able to send messages must have the attribute Send = True. If Send = False and a message is entered into the Connectivity outbox, the message will not be processed.

    A site that should be able to receive messages must have the attribute Receive = True. If Receive = False and a message arrives to the Connectivity inbox the message will not be processed.

    A site that should both send and receive messages must have both Send = True and Receive = True.

  3. Open Installation Site.
    At least two rows are needed, one row identifying the Master and one row identifying each Replica.
    Enter a row for each site taking part in the replication process.
    1. Master: Site Id = <Master>, Timezone Difference = 0 and This Site = √. The attribute Database Link must be empty.
    2. A Replica: Site Id = <Replica1>, Timezone Difference = 0, This Site must be empty and Database Link = <Name of Database Link to Replica1>.

    Note! If data is replicated to the same application owner (from one Company to other Companies or from one Site(Contract) to other Sites(Contracts) the database link attribute must be empty.

    The attribute Timezone Difference can be used if data is replicated between sites in different timezones. If a timezone difference is entered data in attributes of type Date will be converted by the replication process and stored in the correct local time.

  4. Open Message Receiver.
    At least two rows are needed, one row identifying the Master and one row identifying each Replica.
    Enter a row for each site taking part in the replication process.
    1. Master: Receiver Address = <Sender> and Site Id = <Master>. The attribute Site Id is chosen from a List-Of-Values on Installation Site.
    2. A Replica: Receiver Address = <Receiver1> and Site Id = <Replica1>. The attribute Site Id is chosen from a List-Of-Values on Installation Site.

    Note 1! All sites taking part in the replication process must be registered.

    Note 2! If data shall be replicated from one company to other companies in the same application owner the setup is exactly the same. installation Site must have a Master and a Replica. Message Receiver must have a Sender and a Receiver. The only difference from a configuration with different physical sites is that the database link attribute in the Installation Site is empty in the <Replica> row.

Replication Configuration

Some network configuration must be done to support the replication process.

Open the Replication folder.

  1. Open Master Configuration / Replication Group – Overview tab.
    There must be at least two rows, one row for the sender of replicated data and one for receivers of replicated data.
    1. Create a replication group for the sender of replicated data, Replication Group = <MasterGroup>. This group will never contain any replication configuration but it must be present.
    2. Create at least one group for receivers of replicated data, Replication Group = <Replica1Group>.
  2. Open Master Configuration / Receivers tab.
    There must be one row for each site taking part in the replication process.
    1. Create a row for the sender.
      Receiver = <Sender>
      and Replication Group = <MasterGroup>.
      The attribute Receiver is chosen from a List-Of-Values on Message Receiver.
      The attribute Replication Group is chosen from a List-Of-Values on Replication Group.
      The attribute Site Id is entered automatically when a Receiver is chosen from the List-Of-Values.
    2. Create a row for each receiver.
      Receiver = <Receiver1> and Replication Group = <Replica1Group>.

Each replication group has its own configuration that defines which data should be replicated to the receivers in the group.

Background Process

Connectivity and Replication needs some background processes. A Master must have a replication process, Replication_SYS.Process_Replicate, that monitors the replication queue and creates Connectivity messages with replicated data. A Master must also have a Connectivity process, Connectivity_SYS.Process_Outbox, that sends the messages to the Replicas. A Replica must have a Connectivity process, Connectivity_SYS.Process_Inbox that process incoming messages.

Open the Foundation1 Administration folder.

  1. Check for Master background processes.
    1. Open Runtime Monitoring – Server Processes tab.
      There shall be at least three processes, Replication_SYS.Process_Replicate, Connectivity_SYS.Process_Outbox and Transaction_SYS.Process_All_Pending.
  2. If the Replication process is not present open Configuration and look for the row with Parameter Description = Replication process available. Change the Value from OFF to ON and save.
  3. If the Connectivity processes is not present open Configuration and look for the rows with Parameter Description = Connectivity Outbox process available. Change the Value from OFF to ON and save.
  4. If the Transaction_SYS.Process_All_Pending is not present then the Oracle background processes are not enabled.
    1. Check the init.ora file for background process configuration.
    2. The parameter JOB_QUEUE_PROCESSES must be present.
  5. Reasonable values are

    JOB_QUEUE_PROCESSES = 20 (number of processes)

    Note 1! JOB_QUEUE_PROCESSES limits the total number of running processes.

Sending Network Configuration Information

When the network configuration is complete on the Master the information should be sent over to the other participating sites. Before an attempt is made to send any configuration information make sure that all processes mentioned in 3.1.4 is running.

Open the Replication folder.

  1. Open Master Configuration/Receiver tab.
    1. Select any row and press RMB (right mouse button).
    2. Choose Send Network Configuration… on the menu.
      It is possible to send the configuration to a selected Receiver or a selected Replication Group.
      If none is selected, the configuration is sent to all participating sites.

    Note 1! When the network configuration is received at a participating site its repository will be updated. Data already present in the repository will not be touched.

    Note 2! A message Message Sent – Message Id =, is seen if the Connectivity_SYS.Process_Outbox is not running. If the process is not running, start the process and send the configuration again.

    Note 3! A message No Data Found is seen if there is only one row in Installation Site when replicating to the same appowner. There must always be a Master and a Replica even if Master and Replica are the same appowner.

Open the Connectivity folder

  1. Open Out Message Box.
    There should be one or more messages with Class Id = IFS_REPLICATION_CONFIGURATION and Application Message Id = SITE. If  State = Accepted the Replica has received the message.