Stopping and resuming Replication on Progress

Yuvapradeep

New Member
Hi Chris,

I am running database with version 11.6.4 on Linux server.

when ever we face issue on db or db shutdown happens, we have to configure replication from scratch 1>backing up database on source 2>enabling replication on source 3>restoring backup on target 4>enabling replication at target.

1) Progress version, Service Pack and product
- OpenEdge Release 11.6.4 as of Tue Oct 3 01:15:46 EDT 2017
2) OS and version
- Linux rc51e00vm018b 4.1.12-112.16.7.el7uek.x86_64 #2 SMP Fri Apr 6 14:23:45 PDT 2018 x86_64 x86_64 x86_64 GNU/Linux
3) What you have tried
- I have tried above mentioned steps and attaching file.
4) What errors you are receiving
- Not any errors but not sure of the procedure how do I stop and resume replication from that point of time without stopping target db and restoring backup from source every time.

Please let us know a way to stop the replication at particular time and resuming replication from that point.


Thanks,
 

Attachments

Cringer

ProgressTalk.com Moderator
Staff member
You should not have to reinitialise replication just because you stop the database. It has been a while since I used Replication, but you should just be able to get them talking again. You should always start from a point of source and target being offline IIRC. I'll defer to someone with more recent experience on the process, but the process you are going through is not correct.
 

TomBascom

Curmudgeon
Stopping the database does not, by itself, result in a need to re-initialize replication.

If you are down for a long enough period you might need to be restart the replication agent or the replication server processes with dsrutil.

If you are running Windows then you want to make sure to start those as a service. Otherwise they will die when you log off (Windows is very "helpful" that way).

If your shutdown procedure does more than simply shutdown the db you might be breaking replication. For instance, some pre-historic shutdown scripts automatically truncate the bi file. (This has been a bad idea for roughly 30 years but I still find people doing it.) Truncating the bi is one of many post-shutdown activities that will require a replication re-initialization. Rebuilding indexes is another. But the shutdown itself does not cause replication to need to be re-initialized.
 

Yuvapradeep

New Member
Hi,

Thanks for your answers,

Progress running on Linux server and I am not shutting down database to stop replication, I am following below steps on each Source and Target

On Source :
$ dsrutil accrec -C terminate server
$ dsrutil accrec -C RELWAITS
$ dsrutil accrec -C disablesitereplication source
$ rfutil accrec -C aimage aioff

ON Target:
$ proshut accrec -by
$ prodel accrec
$ proutil accrec -C disablesitereplication target
 

TomBascom

Curmudgeon
If you disable site replication then, yes, you will need to re-initialize it. That is, of course, expected behavior. I apparently do not understand your original question.
 

Yuvapradeep

New Member
As I posted my other question, Replication is affecting our monthly activity.
So we would like to stop until our activity is completed and then plan to resume the replication, from that point.

As per my understanding, has to terminate replication server and then restart replication server.
During the activity AI images gets archived and extents will be in an locked state.

I am not sure of actual procedure to stop and resume replication during activity. ProgressDB id new to me, hope issue is clear now and I'm making right statements in explaining.

Thanks,
 

TomBascom

Curmudgeon
when ever we face issue on db or db shutdown happens, we have to configure replication from scratch
I will assume that "or a db shutdown happens" is not actually causing you to have to reconfigure replication.

If your real problem is that you sometimes want to temporarily stop replication while some intense workload runs and then easily restart replication at a later time without having to reinitialize replication from scratch there is a technique that you can use:

Code:
dsrutil dbname -C terminate server
This will stop replication notes. It will result in your after image extents becoming LOCKED until you restart replication and re-synchronize so make sure that you have plenty of disk space and that you are using variable ai extents (or have allocated sufficiently large fixed extents).

When you are ready to restart replication execute:

Code:
dsrutil dbname -C restart server
This will restart the replication process. It will take a while for the source and target to synchronize but you are, presumably, doing it when the workload is lower.

FWIW -- I know of a site where they did this every morning for a few hours while a certain very intense batch process ran.

Having said all of the above -- a much larger -pica along with proper tuning and configuration of both source and target is probably what you really need to do.
 

Yuvapradeep

New Member
Hi Tom,

I could not test suggested steps, I will verify and update you shortly on this.


Thanks,
 
Top