The ability to enable Replication
online was introduced in OpenEdge 10.1A, with the stipulation that after imaging had already been enabled on the database. This requirement has since been dropped in OpenEdge 10.1B.
The following steps outline enabling the source database for Replication and creating a Replication Target baseline while the source database is online, assuming the OpenEdge Replication (or Replication Plus) license is already installed.
On the Source Database Server:1. Copy
DLC/properties/source.repl.properties to the directory where the source database is located, more specifically, to the same directory where the
source_dbname.db is located, then rename it to:
<source_dbname>.repl.properties Edit the source_dbname.repl.properties file providing the required settings for the Replication Configuration Parameters.
For detailed information on replication configuration parameters refer to the
OpenEdge Replication: User Guide.2. If After-imaging is already enabled on the source database go to
Step 5.
If After-imaging has not been enabled and there are no AI extents, add AI extents online after preparing a .st file which defines the AI extents. For further instruction refer to Article
How To Add AI Extents in an Existing V9 or V10 Progress Database
$ prostrct addonline <dbname> <add-st-file-name.st>
3. Enable After imaging online using one of the following commands:
a. If the Aiarchiver is not being used:
$ probkup online <dbname> <output-device> enableai
b. If the Aiarchiver is to be used:
$ probkup online <dbname> <output-device> enableai enableaiarchiver -aiarcdir <directory-path> -aiarcinterval <interval-in-seconds>
4. Once After imaging is enabled, start an After-Image Writer if an Enterprise Database License is in place:
$ proaiw dbname
5. Enable the database for source replication (the database does not need to be shutdown for this operation):
$ proutil <dbname> -C enableSiteReplication source
6. If the database has been shutdown rather than carrying out the previous steps with the database online, restart the database the normal startup parameters:
$ proserve <dbname> <normal startup parameters>
7. Create an online backup of the source database with the -
REPLTargetCreation switch to use for the replication target database :
$ probkup online <dbname> <device-name> -REPLTargetCreation
On the Target Database Server:8. Copy
$DLC/properties/target.repl.properties to the directory where the target database is to be located, more specifically, to the same directory where the target
_dbname.db will be located, then rename it to:
<target_dbname>.repl.properties Edit the
<target_dbname>.repl.properties file providing the required settings for the Replication Configuration Parameters.
For detailed information on replication configuration parameters refer to the
OpenEdge Replication: User Guide..
9. The target database is created by restoring the backup volume created in Step 6 above with the -
REPLTargetCreation switch:
$ prorest <target-dbname> <device-file-name>
10. Enable the database for target replication:
$ proutil <dbname> -C enableSiteReplication target
11. Start the target database and Agent:
$ proserve <dbname> -DBService replagent -S <port>
Where the Broker port is as defined in the source.repl.properties [control-agent.agent1] section
On the Source Database Server:12. Start Replication Server on source database:
$ dsrutil <dbname> -C restart server
Other Considerations:
- Follow the rules and guidelines provided in the OpenEdge Replication Users Guide to customize replication requirements. These should be verified and documented in a test environment before deploying to production.
- Between the time that the target baseline PROBKUP is taken (Step 6) and the source and target databases have synchronised (the RPLS and RPLA establish contact) after Step 11, no further PROBKUP's of the source database should be made as this will invalidate the target baseline as replication will not synchronise.
- Ensure there are sufficient AI extents to cover the period between Step 6 and 11, as these will be LOCKED and unavailable for reuse until they have been processed against the target database.
- 3. The target database is started with the required "-DBService replagent" parameter as well as the values of -L, -Mn and -n on the replication target to be greater than or (at least) equal to those of the source database, to assure AI transaction notes are forward processed successfully. Refer to Article: Does a replication target database require the same parameters as the source database?