Salesforce

How to restart RPLS, RPLA and target database when the source database is running.

« Go Back

Information

 
TitleHow to restart RPLS, RPLA and target database when the source database is running.
URL NameHow-to-restart-RPLS-RPLA-when-the-source-database-is-running-000072841
Article Number000176504
EnvironmentProduct: OpenEdge
Version: All supported versions
OS: All supported platforms
Other: OpenEdge Replication
Question/Problem Description
How to restart source Replication Server (RPLS) to target Replication Agent (RPLA) communications
How to restart the Replication Server, Replication Agent and target database when the source database is running.
How to restart the Replication Server and Replication Agent when the source and target databases are running
How to restart the Replication Server when the Replication Agent is in PRE-TRANSITION
Can the Replication Agent be restarted without having to restart the target database?
 
Steps to Reproduce
Clarifying Information
Use-Cases:
  1. Replication enabled source database is up and running, but the Replication Server, Replication Agent and target database are not running.
  2. Replication enabled source database and target databases are up and running, but the Replication Server, Replication Agent have stopped
  3. Replication enabled source and target databases is up and running, the Replication Agent is in PRE-TRANSITION and the Replication Server has stopped
Error Message
Defect Number
Enhancement Number
Cause
Resolution
Replication Server (RPLS) to target Replication Agent (RPLA) communications can be resumed by restarting the respective RPLS and or RPLA processes with the DSRUTIL utility, without necessarily having to restart the associated replication enabled source and target databases.  This Article discusses 3 typical use-cases:

A. Replication enabled source database is up and running, but the Replication Server, Replication Agent and target database are not running.

1. Restart the target database and Replication Agent

$   proserve <targetdb> <dbparams> -DBService replagent -S <agent port>

The agent port is the port configured under the [control-agent.<agent>] section of the the Replication Server’s repl.properties file.

If a the Agent Port needs to be changed, first modify the <source>.repl.properties file accordingly

Example: <source>.repl.properties

[control-agent.agent1]
   name=agent1
   database=target
   host=localhost
   port=4501
   connect-timeout=600
 
$   proserve target -pf target.pf -DBService replagent -S 4501

RPLA    5: (10501) The Fathom Replication Agent has been successfully started as PID 7492.
BROKER  0: (-----) The OpenEdge Replication Agent is starting...
RPLA    5: (10394) The Fathom Replication Agent is listening on port 4387

If a non-configured Agent Port is used and the target.repl.recovery file has not been deleted, the Replication Target database will start, but the Replication Agent process will terminate.

If a non-configured Agent Port is used and the target.repl.recovery file has been deleted, the Replication Target database and Replication Agent process will start, but when the Replication Server is started it will be unable to connect to the Replication Agent
2. Restart the Replication Server
    
$   dsrutil <sourcedb> -C restart server


The RPLS will connect to the target database on the port configured under the [control-agent.<agent>] section of the the Replication Server’s repl.properties file and then be directed to the RPLA listening port for replication processing.

B.  Replication enabled source database and target databases are up and running, but the Replication Server, Replication Agent have stopped

Prior to OpenEdge 11.6

1. Re-start the target database and replication agent as outlined above:

$ proserve <targetdb> -S <agent port> <dbparams> -DBService replagent
 
2. Restart the Replication Server
    
$   dsrutil <sourcedb> -C restart server

OpenEdge 11.6 and later:

1. Restart the Replication Agent

Since OpenEdge 11.6, the Replication Agent can be restarted like the Replication Server with DSRUTIL without having to restart the target database:
    
$   dsrutil <targetdb> -C restart agent

2. Restart the Replication Server
    
$   dsrutil <sourcedb> -C restart server
 

C.  Replication enabled source and target databases is up and running, the Replication Agent is in PRE-TRANSITION and the Replication Server has stopped

1.  Confirm the Replication Agent Status:

$  dsrutil target -C monitor -> A

2. Restart the Replication Server
    
$   dsrutil <sourcedb> -C restart server
 

Additional Considerations:

On Windows processes need to be restarted under the "SYSTEM" account, otherwise they are susceptible to the CTRL_LOGOFF event and will terminate when the user account that started them logs off from their Windows Session. Refer to Article  How to restart the Replication Server under the Local System Account   
Workaround
Notes
Keyword Phrase
Last Modified Date6/26/2025 12:39 AM

Powered by