New OE Replication in 11.7

Posted by James Palmer on 07-Apr-2017 05:50

One of the features discussed around the new Replication features in 11.7 is that it allows you to do maintenance on the primary. Now this is useful if the maintenance is patching up the OS, say, but I know in older versions there's very little you can do to the actual database in terms of maintenance without breaking replication. So, has this list of activities changed with 11.7? Or would you still have to fail back to the primary after the maintenance window and then reseed replication? Because this introduces a window with a single point of failure again. 

All Replies

Posted by Dapeng Wu on 07-Apr-2017 07:20

The list of database utilities that can be run on replication enabled database has not be changed. However, we do put some improvement in 11.7. For example, builddb used to break replication, but now it won't. We understand there are still quite a few other utilities that should be improved, for example, idxbuild, truncate bi etc. And they are on our to-do list.

The failover transition is also more reliable and powerful than previous releases. With the concept of "replication set" introduced in 11.7, If the maintenance is for operations like patching the OS, then replication will not be interrupted, and a single point of failure can also be avoided. The "replication set" involves one source and two targets, and they will be transitioned together. So even if the source is lost, there will still be one (new) source and one target (of the new source) left after transition. This can buy us more time to reseed the second target and reduce the window down to single point of failure.

Dapeng

Posted by James Palmer on 07-Apr-2017 08:15

Thanks for the detailed response Dapeng.

Posted by Dmitri Levin on 07-Apr-2017 13:26

After I transitioned from serverA Source to serverB Target, the former target serverB becomes the new Source.

Can serverA become new Target without backup/restore ?

And subsequently can I transition from new Source serverB to new Target serverA?

Do I need replication set ( 3 databases ) to achieve the above or it could be done with just two?

Posted by Dapeng Wu on 07-Apr-2017 13:47

I think you're talking about the failover/failback scenario:

The source and target can be configured so that after failover transition, the former target becomes the new source; and the former source becomes the new target of the new source automatically. There is no need to create another target to restore the original one source, one target configuration.

To failback to the original server A for the source, another failover transition will be needed.

The failover transition is basically a role switch without breaking replication. This can be done with just two databases.

Replication set will allow the second target transition together with the source and the first target. So after failover, you'll still have one source and two targets without re-bases.

Dapeng

Posted by Dmitri Levin on 07-Apr-2017 15:24

Yes, I am talking about failback scenario.

With just two databases.

In the previous releases of OE we need to re-base the original database to failback.

Do I understand correctly that in 11.7 failback could be done without a re-base, correct?

I have 1.3 TB db and re-base is 24hr+ process. So it is a big deal for us.

Posted by Dapeng Wu on 07-Apr-2017 15:49

I heard there were problems to failover/failback in previous releases, although it "should" work. Could you post more details about the errors you have encountered? For example, steps, transition properties etc.

Thanks,

Dapeng

Posted by Dmitri Levin on 07-Apr-2017 16:00

I am not using OE Replication, not yet. With after-image replication we could not failback without a re-base.

One of the main selling points of OE Replication 11.7 (for us) is that we should be able to switch roles source and target without a re-base. That is what we are looking forward. As to the previous versions I am not really concerned about as I installed 11.7 yesterday.

Posted by Jeff Owen on 11-Apr-2017 21:30

Hi Dmitri,
 
You can have server and server switch roles using the dsrutil -C transition failover command.  You would
execute the transition command against the source database.  In your example, serverB will be the source
and serverA would be the target once the transition has finished executing.  You do not need a replication
set enabled to do this.
 
-jeff
 

Posted by Dmitri Levin on 14-Apr-2017 14:59

After I execute "dsrutil -C transition failover" command to switch roles does the former source immediately becomes a target without any other actions? (Yes/No)

Was that the same before version 11.7?

Posted by Dapeng Wu on 14-Apr-2017 16:40

The role switch transition is a multi-step operation which involves shutdown of both source and targets; mark the databases in transition state; update replication bootstrap information and a few others. The transition can also be configured for some optional actions such as recovery backup before the transition to prepare for a failure, enable/add AI extents during the transition, and restart the new source/target after the role switch etc.  
 
The transition command will initiate and perform all these actions on both source and targets according to the “transition” properties in replication property file. After the command completes, the former source will become the new target; and the former target the new source. Note that applications will still need to be redirected to the new source/targets -- it’s not part of this transition command.
 
Dapeng

This thread is closed