Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
24,248
Hi,

In this blog we are trying to perform takeover and fail back testing.

We have database on two different server melcoprd and melcodev. Our database is in mcod scenario in which it has 3 tenant database.

  
MELCODEV                                                                        MELCOPRD

We have melcodev hana box in which 3 database instances are installed namely.

HD1-> development database

HQ1-> quality database

HP1-> production database

We have melcoprd hana box in which only one  database instance is  installed namely.

HP1-> production database

We have installed the hana database with virtual IP/virtual host name for production.

SAP application are also installed with virtual IP/virtual host name in production scenario. Application used to connect to database using the virtual IP .

Instance number of these database are

00 for production

02 for development

04 for quality

We have not used 01 or 03 as instance number because the port used with instance number is used for replication.

ENVIRONMENT

SITE1 = HP1 on melcoprd is site 1 or primary site for preferred data center.

SITE2 = HP1 on melcodev is site 2 or secondary site for second data center.

melcoprdHP1 = HANA system which acts as primary in replication mode

melcodevHP1 = HANA system which acts as secondary in replication mode

Prerequisite for System Replication

1. The hana database on primary and secondary systems are both installed and configured. We have to verified that both are independently up and running.

2. The number of node on primary must be equal to the secondary.

3. The HANA version must be same on both primary and secondary system.

4. The secondary system must have identical SAP system ID and instance number as the primary system.

5. The initial db backup has to be executed before starting the system replication.

System Replication for HP1

Target Solution Overview



All the command are executed with <SID>adm user.

So, here we will discuss 3 scenario.

1. Takeover the database from primary to secondary.

2. Register the primary as secondary site for replication.

3. Take-back to the original primary system.

 

Before performing a takeover, we will check the replication is working fine.

Verifying the system replication


STEP 1

Verify that system replication is running on melcoprd

enter the following command  ----->   hdbnsutil -sr_state

this command will show information about the system replication status.



Here we can see our primary site name is melcoprdHP1 and Id is 1.

now we will run python command to check the system replication status

command ------>  python systemReplicationStatus.py



Here we can see that data is being replicated from melcoprd to melcodev. Nameserver  service contain all the processed data, so it is being replicated.

Now we will verify the replication status on melcodev

enter the following command  ----->   hdbnsutil -sr_state

this command will show information about the system replication status.



As we can see that the secondary site is melcodevHP1 with Id 2.

now we will run python command to check the system replication status

command ------>  python systemReplicationStatus.py



Since replication is happening from melcoprd. We cannot see the replication status since it is not primary site.

1.   Takeover the database from melcoprd to melcodev

In our case for takeover we stopped the server.

shutdown melcoprd

command ------> shutdown -h now



SAP application server stop working

takeover the database from melcoprd to melcodev

login to melcodev

command ---------->  hdbnsutil -sr_takeover

It will switch the system replication primary site to the secondary site.



It will take over the database from melcoprd to melcodev.

this command will take some time.

SAP application start working.

2.   Register the melcoprd as a secondary site for replication

Starts the melcoprd server

Stop the database

command -------> HDB stop



Now we login the melcodev to check the system replication status.

command --------->  python systemReplicationStatus.py



Since no replication is happening as we have not register the melcoprd as secondary database.

So. we will register the melcoprd as secondary site.

Registering the melcoprd as secondary site for replication

command ----------->  hdbnsutil -sr_register --name=melcoprdHP1 --remoteHost=melcodev --

remoteInstance=00 --replicationMode=sync --operationMode=delta_datashipping



name---> melcoprdHP1   -> The system to which data will be replicated.
remoteHost----> melcodev  -> The remote host from where the data will be replicated.
remoteInstance ---> The instance number of hana database.
replicationMode ----> We can give the mode of replication.
operationMode ----> operation mode may be delta_shipping or logreplay

check the state on melcoprd

command ---->  hdbnsutil  -sr_state



As we can see primary is melcodev and secondary is melcoprd

 

Check the replication status from melcodev to melcoprd


login on to melcodev

command ----------->  python systemRelicationStatus.py

 

Start the database on melcoprd

HDB start



3.     Take-back to the original primary system

 

check the status of replication

login to melcoprd

command ----------> hdbnsutil -sr_state


Takeover the database from melcodev to melcoprd

command -----------> hdbnsutil -sr_takeover



login to melcodev and check the system replication status

command ---------> python systemReplicationStatus.py



system replication is not active

Making melcodev as secondary system
stop the database

login on melcodev

HDB stop

Registering the melcodev as secondary site for replication

login to melcodev

hdbnsutil -sr_register --name=melcodevHP1 --remoteHost=melcoprd --remoteInstance=00 --

replicationMode=sync --operationMode=delta_datashipping





checking the system replication on melcodev

command ------------>  hdbnsutil -sr_state



Now we can see that our primary site is melcoprd and secondary site is melcodev

 

Checking the system replication status on melcoprd

command --------> hdbnsutil -sr_state



Start the database on melcodev

login on melcodev

HDB start

check the system replication status on melcoprd

login to melcoprd

python systemReplicationStatus.py



We can see replication is working fine.
3 Comments
Labels in this area