Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

Table of Contents

1.  Introduction

In this This section , we will cover how to deploy deploying Dbvisit Standby on an Oracle Standard Edition High Availability (SEHA) Windows cluster. SEHA is a feature replacing RAC, which is no longer available on in Standard Edition, starting with the 19c version.

Note

SEHA feature is available only on version 19.7 and onwards. Note that shared ACFS volume is required for Dbvisit installation. ACFS on Windows is deprecated for 19c and de-supported for all further releases by Oracle. In other words the only supported Oracle version from Dbvisit for SEHA configuration is 19c.

...

Volume C:\dbvisit is not shared between both clusters, it's shared between two nodes on local cluster only (Volume is not shared between primary and standby).

1.1  Different types of Oracle SEHA configurations

Dbvisit Standby MP handles Oracle SEHA deployment similar similarly to Oracle RAC Cluster, with a few differences. There are two types of possible SEHA cluster configurations:

A. One or more Oracle database instances are running on one of the SEHA cluster nodes while the other node hosts are not running any database instances.

Such deployment is supported by Dbvisit Standby MP 11.1 and onwards. In this type of deployment, Dbvisit uses cluster resources and shared storage to be able to failover to the other SEHA node.

...

This includes configurations where, for example, Oracle database instance instances A and B run on SEHA node 1 and database instance C runs on node 2. Such deployment is Dbvisit Standby currently NOT supported by Dbvisit Standbydoes NOT support such Deployments. Dbvisit Standby can be active only on one of the SEHA cluster nodes, not on both.

1.2  Oracle RAC

For deployment to Oracle RAC clusters, follow the same steps as mentioned below. There is only a cosmetic difference when creating a DDC configuration in the GUI at the end of the process.

Make sure that you’re running the supported RAC version as per:

https://dbvisit.atlassian.net/wiki/spaces/DSMP/pages/3238264943/System+Requirements#3.1.--Supported-Oracle-Database-Editions

From 19c onwards, RAC is an Enterprise Edition (EE) option only and is not certified with Dbvisit Standby, please contact . Don't hesitate to get in touch with Dbvisit Support if you wish to deploy Dbvisit to such an RAC environment.

1.3  Prerequisites

To deploy Dbvisit Standby on the SEHA cluster, the following prerequisites are needed:

  • New A new dedicated IP address and hostname for the new cluster VIP address are needed. This VIP address will be different from existing cluster VIP addresses. Our suggestion is to use hostname such as dbvisit-vip1 for example.

  • Shared storage between both primary cluster nodes with minimum 15GB free space. Such shared storage can be only provided by ACFS (no support for other methods)

...

Code Block
C:\Users\Administrator>acfsutil info storage
Diskgroup      Consumer      Space     Size With Mirroring  Usable Free  %Free   Path
ACFS                         19.65              19.65           0.54        2%
                DBVISIT      19.00              19.00          18.22       95%   C:\dbvisit
CRS                           4.99               4.99           4.64       92%
DATA                         39.29              39.29          39.18       99%
FRA                          19.65              19.65          17.88       91%
----
unit of measurement: GB
  • Make sure the Oracle Grid Infrastructure is deployed as per Oracle documentation. The group membership for oracle and grid users needs to be correct. Dbvisit supports cluster role separation (oracle and grid user) as well as simple configuration (oracle user only)

  • Verify that the primary oracle database is SEHA enabled:

Code Block
C:\Users\Administrator>srvctl config database -d TEST01
Database unique name: TEST01
Database name:
Oracle home: C:\app\oracle\product\19.0.0.0\dbhome_1
Oracle user: dbvisit\oracle
...
Configured nodes: w19ora19seha3,w19ora19seha4
  • In srvctl config output, "Configured nodes" needs to contain TWO nodes. If you see only one node, the database does not have SEHA feature enabled

  • On both SEHA nodes, check that the Windows Registry key HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\KEY_OraDB*Home* has a string value for ORACLE_SID.

Note

Unless otherwise stated all commands in following chapters were executed as “Administrator” user

2.  Dbvisit Software Setup on Primary Cluster

2.1  Creating Dbvisit Dedicated VIP Address

Before starting with Dbvisit Installation, we need to create a dedicated VIP address mentioned in the "1.3 Prerequisites". In our example, the pre-allocated VIP for our SEHA cluster is "172.16.17.253," and we decided to assign the DNS name "dbvisit-vip34". To create a new VIP address, you need to execute:

Code Block
C:\Users\Administrator>appvipcfg create -network=1 -ip=192.168.18.253 -vipname=dbvisit-vip34 -user=dbvisit\oracle
Using configuration parameter file: C:\app\grid\product\19.0.0.0\gridhome_1\crs\install\crsconfig_params
The log of current session can be found at:
  C:\app\orabase\crsdata\w19ora19seha3\scripts\appvipcfg.log

...

Code Block
C:\Users\Administrator>crsctl status resource dbvisit-vip34
NAME=dbvisit-vip34
TYPE=app.appviptypex2.type
TARGET=OFFLINE
STATE=OFFLINE

C:\Users\Administrator>crsctl start resource dbvisit-vip34
CRS-2672: Attempting to start 'dbvisit-vip34' on 'w19ora19seha3'
CRS-2676: Start of 'dbvisit-vip34' on 'w19ora19seha3' succeeded

2.2  Installing Dbvagentmanager on Primary Cluster

Note

Before starting installation make sure to provision shared ACFS volume to your SEHA cluster. The size needs to be at least 15GB. In this example our shared volume is created as C:\dbvisit

In this This section we will highlight only the most important and SEHA-related aspects of Dbvisit Installation. For a complete guide please refer to:

Installing Standby Multiplatform

We’ll be aiming for the Dbvisit configuration as follows:

Nodes

Associated VIP (active only on one SEHA node)

Installed Dbvisit component

w19ora19seha3, w19ora19seha4

dbvisit-vip34

Dbvagentmanager

w22ora19seha1, w22ora19seha2

dbvisit-vip12

Dbvagentmanager, Dbvcontrol

We will first start on the primary SEHA cluster. We need first to create directory which will contain Dbvisit installation DBVISIT_BASE:

...

Continue by starting the dbvagentmanager installer and specifying this directory as DBVISIT_BASE (installation file agent-v11.6.0.msi was downloadded downloaded to C:\dbvisit\sw):

Code Block
C:\Users\Administrator>msiexec /i C:\dbvisit\sw\agent-v11.6.0.msi

...

go Go for next to set passphrase:

...

Once installation is completed, edit the dbvagentmanager configruation configuration file and set FileTransferListenAddress to DBVISIT-VIP34.DBVISIT.CZ and save the file

...

Code Block
sc sdset dbvagentmanager "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;IU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
[SC] SetServiceObjectSecurity SUCCESS

2.3  Creating Cluster Action script for dbvagentmanager

To enable SEHA failover for dbvagentmanager, we recommend to integrate integrating them into Oracle Grid by using an action script. Here is single action Action script for dbvagentmanager and for dbvcontrol :TBDcan downloaded from Dbvisit Software Github repository:

https://github.com/dbvisitsoftware/standby/blob/main/cluster-action-scripts/dbvcrs.bat

Dbvcontrol will not be installed on the primary cluster, but the same action script will be used for dbvagentmanager and dbvcontrol on the standby cluster.

Upload the script to directory C:\dbvisit\app\bin

...

Note

Do NOT change the script name nor script location. If you do, you will have to make on your own adjustments in the script and in the cluster commands.

Info

...

Be sure to check

...

Code Block
cd C:\dbvisit\app\bin C:\dbvisit\app\bin>dbvcrs.bat stop dbvagentmanager C

the README:

https://github.com/dbvisitsoftware/standby/blob/main/cluster-action-scripts/README.md

2.4  Creating dbvagentmanager service on the 2nd SEHA node

On the 2nd SEHA node, we need to create the Windows service manually, set its startup mode to manual, and change the password (use an actual password):

Code Block
C:\Users\Administrator>C:\dbvisit\app\bin>dbvcrs.bat check dbvagentmanager\bin\dbvagentmanager service install --user "dbvisit\oracle"
C:\dbvisit\app\bin>dbvcrs.bat start dbvagentmanager
C:\dbvisit\app\bin>dbvcrs.bat check dbvagentmanagerUsers\Administrator>sc config dbvagentmanager start=demand
[SC] ChangeServiceConfig SUCCESS
C:\dbvisitUsers\app\bin>dbvcrsAdministrator>sc.batexe cleanconfig dbvagentmanager 
C:\dbvisit\app\bin>dbvcrs start dbvagentmanager
Starting service dbvagentmanager
The Dbvisit StandbyMP Agent service is starting.
The Dbvisit StandbyMP Agent service was started successfully.

Checking service dbvagentmanager

SERVICE_NAME: dbvagentmanager
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE            password= "mysecret"
[SC] ChangeServiceConfig SUCCESS

Set the permissions to full control on service dbvagentmanager for “Service Logon User” and “Interactively logged-on user”:

Code Block
sc sdset dbvagentmanager "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;IU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
[SC] SetServiceObjectSecurity SUCCESS
Note

Do NOT start the service on 2nd node

2.5  Creating dbvagentmanager Cluster Resource

Make sure the dbvagentmanager service is stopped on both SEHA nodes. Now we can finally create the dbvagentmanager action script and test VIP + dbvagentmanager relocation:

Code Block
crsctl add resource dbvagentmanager -type generic_application -attr "START_PROGRAM='/dbvisit/app/bin/dbvcrs.bat start dbvagentmanager',STOP_PROGRAM='/dbvisit/app/bin/dbvcrs.bat stop dbvagentmanager',CHECK_PROGRAMS='/dbvisit/app/bin/dbvcrs.bat check dbvagentmanager',CLEAN_PROGRAM='/dbvisit/app/bin/dbvcrs.bat clean dbvagentmanager',CHECK_INTERVAL=10,START_DEPENDENCIES='hard(dbvisit-vip34) pullup(dbvisit-vip34) attraction(dbvisit-vip34)',STOP_DEPENDENCIES='hard(dbvisit-vip34)',PLACEMENT='favored',HOSTING_MEMBERS='w19ora19seha3 w19ora19seha4',ACL='owner:dbvisit\oracle:rwx,pgrp::r-x,other::r--'"

Try to start dbvagentmanager via crsctl and check the service status afterward (must be RUNNING):

Code Block
C:\dbvisit\app\bin>crsctl start res dbvagentmanager
CRS-2672: Attempting to start 'dbvagentmanager' on 'w19ora19seha3'
CRS-2676: Start of 'dbvagentmanager' on 'w19ora19seha4' succeeded

C:\dbvisit\app\bin>sc query dbvagentmanager

SERVICE_NAME: dbvagentmanager
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 4  RUNNING
                                (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

You need to receive correct output for each command (service is stopped, started etc ..)

2.4  Creating dbvagentmanager service on 2nd SEHA node

On 2nd SEHA node, we need to manually create the Windows service, set it’s startup mode to manual and change password (use an actual password):Test relocation of the VIP address back and forth:

Code Block
C:\Users\Administrator>C:\dbvisit\app\bin\dbvagentmanager service install --user "dbvisit\oracle"
C:\Users\Administrator>sc config dbvagentmanager start=demand
[SC] ChangeServiceConfig SUCCESS
C:\Users\Administrator>sc.exe config dbvagentmanager password= "mysecret"
[SC] ChangeServiceConfig SUCCESS

Set the permissions to full control on service dbvagentmanager for “Service Logon User” and “Interactively logged-on user”:

Code Block
sc sdset dbvagentmanager "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;IU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
[SC] SetServiceObjectSecurity SUCCESS
Note

Do NOT start the service on 2nd node

2.5  Creating dbvagentmanager Cluster Resource

Make sure dbvagentmanager service is stopped on both SEHA nodes. Now we can finally create dbvagentmanager action script and test VIP + dbvagentmanager relocation:

Code Block
crsctl add resource dbvagentmanager -type generic_application -attr "START_PROGRAM='/dbvisit/app/bin/dbvcrs.bat start dbvagentmanager',STOP_PROGRAM='/dbvisit/app/bin/dbvcrs.bat stop dbvagentmanager',CHECK_PROGRAMS='/dbvisit/app/bin/dbvcrs.bat check dbvagentmanager',CLEAN_PROGRAM='/dbvisit/app/bin/dbvcrs.bat clean dbvagentmanager',CHECK_INTERVAL=10,START_DEPENDENCIES='hard(dbvisit-vip34) pullup(dbvisit-vip34) attraction(dbvisit-vip34)',STOP_DEPENDENCIES='hard(dbvisit-vip34)',PLACEMENT='favored',HOSTING_MEMBERS='w19ora19seha3 w19ora19seha4',ACL='owner:dbvisit\oracle:rwx,pgrp::r-x,other::r--'"

try to startup dbvagentmanager via crsctl and check the service status afterwards (must be RUNNING):

Code Block
C:\dbvisit\app\bin>crsctl start res dbvagentmanagerbin>crsctl relocate resource dbvisit-vip34 -f
CRS-2673: Attempting to stop 'dbvagentmanager' on 'w19ora19seha3'
CRS-2677: Stop of 'dbvagentmanager' on 'w19ora19seha3' succeeded
CRS-2673: Attempting to stop 'dbvisit-vip34' on 'w19ora19seha3'
CRS-2677: Stop of 'dbvisit-vip34' on 'w19ora19seha3' succeeded
CRS-2672: Attempting to start 'dbvisit-vip34' on 'w19ora19seha4'
CRS-2676: Start of 'dbvisit-vip34' on 'w19ora19seha4' succeeded
CRS-2672: Attempting to start 'dbvagentmanager' on 'w19ora19seha4'
CRS-2676: Start of 'dbvagentmanager' on 'w19ora19seha4' succeeded

C:\dbvisit\app\bin>crsctl relocate resource dbvisit-vip34 -f
CRS-2673: Attempting to stop 'dbvagentmanager' on 'w19ora19seha4'
CRS-2677: Stop of 'dbvagentmanager' on 'w19ora19seha4' succeeded
CRS-2673: Attempting to stop 'dbvisit-vip34' on 'w19ora19seha4'
CRS-2677: Stop of 'dbvisit-vip34' on 'w19ora19seha4' succeeded
CRS-2672: Attempting to start 'dbvagentmanagerdbvisit-vip34' on 'w19ora19seha3'
CRS-2676: Start of 'dbvagentmanagerdbvisit-vip34' on 'w19ora19seha4w19ora19seha3' succeeded

C:\dbvisit\app\bin>sc query dbvagentmanager

SERVICE_NAME: dbvagentmanager
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 4  RUNNING
                                (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

Test relocation of the VIP address back and forth:

Code Block
C:\dbvisit\app\bin>crsctl relocate resource dbvisit-vip34 -f
CRS-2673: Attempting to stop 'dbvagentmanager' on 'w19ora19seha3'
CRS-2677: Stop of 'dbvagentmanager' on 'w19ora19seha3' succeeded
CRS-2673: Attempting to stop 'dbvisit-vip34' on 'w19ora19seha3'
CRS-2677: Stop of 'dbvisit-vip34' on 'w19ora19seha3' succeeded
CRS-2672: Attempting to start 'dbvisit-vip34' on 'w19ora19seha4'
CRS-2676: Start of 'dbvisit-vip34' on 'w19ora19seha4' succeeded
CRS-2672: Attempting to start 'dbvagentmanager' on 'w19ora19seha4'
CRS-2676: Start of 'dbvagentmanager' on 'w19ora19seha4' succeeded

C:\dbvisit\app\bin>crsctl relocate resource dbvisit-vip34 -f
CRS-2673: Attempting to stop 'dbvagentmanager' on 'w19ora19seha4'
CRS-2677: Stop of 'dbvagentmanager' on 'w19ora19seha4' succeeded
CRS-2673: Attempting to stop 'dbvisit-vip34' on 'w19ora19seha4'
CRS-2677: Stop of 'dbvisit-vip34' on 'w19ora19seha4' succeeded
CRS-2672: Attempting to start 'dbvisit-vip34' on 'w19ora19seha3'
CRS-2676: Start of 'dbvisit-vip34' on 'w19ora19seha3' succeeded
CRS-2672: Attempting to start 'dbvagentmanager' on 'w19ora19seha3'
CRS-2676: Start of 'dbvagentmanager' on 'w19ora19seha3' succeeded

After each relocation of VIP address, check that dbvagentmanager service is running on that respective node and that it’s stopped on the other node. 

This step concludes the installation and setup of Dbvisit on primary SEHA cluster

3.  Dbvisit Software Setup on Standby Cluster

3.1  Creating Dbvisit Dedicated VIP Address

Same as on primary SEHA cluster, Before starting with Dbvisit Installation we need to create dedicated VIP address mentioned in the "1.3 Prerequisites". Our pre-allocated VIP for our standby SEHA cluster is "172.16.17.254" and we decided to assign DNS name "dbvisit-vip12". To create new VIP address you need to execute:

Code Block
languagenone
C:\Users\Administrator>appvipcfg create -network=1 -ip=192.168.18.254 -vipname=dbvisit-vip12 -user=dbvisit\oracle
Using configuration parameter file: C:\app\grid\product\19.3.0.0\gridhome_1\crs\install\crsconfig_params
The log of current session can be found at:
  C:\app\orabase\crsdata\w22ora19seha1\scripts\appvipcfg.log
Note

At this point you should ensure dbvisit-vip12 is correctly resolved by your DNS or create entry in C:\Windows\System32\Drivers\etc\hosts

Verify VIP is correctly created:

Code Block
C:\Users\Administrator>crsctl status resource dbvisit-vip12
NAME=dbvisit-vip12
TYPE=app.appviptypex2.type
TARGET=OFFLINE
STATE=OFFLINE

C:\Users\Administrator>crsctl start resource dbvisit-vip12
CRS-2672: Attempting to start 'dbvisit-vip12' on 'w22ora19seha1'
CRS-2676: Start of 'dbvisit-vip12' on 'w22ora19seha1' succeeded

3.2  Installing Dbvagentmanager on Standby Cluster

Installation of Dbvisit software on standby cluster is completely the same as on primary - the only difference is that we’ll install dbvcontrol component in addition to dbvamanager. We need first to create directory which will contain Dbvisit installation DBVISIT_BASE:

Code Block
C:\Users\Administrator>mkdir C:\dbvisit\app

Continue by starting the dbvagentmanager installer and specifying this directory as DBVISIT_BASE (installation file agent-v11.6.0.msi was downloadded to C:\dbvisit\sw):

Code Block
C:\Users\Administrator>msiexec /i C:\dbvisit\sw\agent-v11.6.0.msi

...

go for next to set passphrase:

...

Use same passphrase as on primary cluster, then on next page make sure to install in C:\dbvisit\app:

...

Once installation is completed, edit the dbvagentmanager configruation file and set FileTransferListenAddress to DBVISIT-VIP12.DBVISIT.CZ and save the file

Code Block
C:\Users\Administrator>notepad C:\dbvisit\app\conf\dbvagentmanager.ini

...

Restart dbvagentmanager service:

Code Block
C:\Users\Administrator>net stop dbvagentmanager && net start dbvagentmanager
The Dbvisit StandbyMP Agent service is stopping.
The Dbvisit StandbyMP Agent service was stopped successfully.

The Dbvisit StandbyMP Agent service is starting.
The Dbvisit StandbyMP Agent service was started successfully.

set it to manual start mode:

Code Block
C:\Users\Administrator>sc config dbvagentmanager start=demand
[SC] ChangeServiceConfig SUCCESS

Set the permissions to full control on service dbvagentmanager for “Service Logon User” and “Interactively logged-on user”:

Code Block
sc sdset dbvagentmanager "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;IU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
[SC] SetServiceObjectSecurity SUCCESS

3.3  Installing Dbvcontrol on Standby Cluster

You can skip this chapter if you will deploy controlcenter elsewhere.

...

CRS-2672: Attempting to start 'dbvagentmanager' on 'w19ora19seha3'
CRS-2676: Start of 'dbvagentmanager' on 'w19ora19seha3' succeeded

After each relocation of the VIP address, check that the dbvagentmanager service is running on that respective node and that it’s stopped on the other node. 

This step concludes the installation and setup of Dbvisit on the primary SEHA cluster

3.  Dbvisit Software Setup on Standby Cluster

3.1  Creating Dbvisit Dedicated VIP Address

Same as on the primary SEHA cluster, Before starting with Dbvisit Installation, we need to create a dedicated VIP address mentioned in the "1.3 Prerequisites". Our pre-allocated VIP for our standby SEHA cluster is "172.16.17.254" and we decided to assign DNS name "dbvisit-vip12". To create a new VIP address, you need to execute:

Code Block
languagenone
C:\Users\Administrator>appvipcfg create -network=1 -ip=192.168.18.254 -vipname=dbvisit-vip12 -user=dbvisit\oracle
Using configuration parameter file: C:\app\grid\product\19.3.0.0\gridhome_1\crs\install\crsconfig_params
The log of current session can be found at:
  C:\app\orabase\crsdata\w22ora19seha1\scripts\appvipcfg.log
Note

At this point you should ensure dbvisit-vip12 is correctly resolved by your DNS or create entry in C:\Windows\System32\Drivers\etc\hosts

Verify VIP is correctly created:

Code Block
C:\Users\Administrator>crsctl status resource dbvisit-vip12
NAME=dbvisit-vip12
TYPE=app.appviptypex2.type
TARGET=OFFLINE
STATE=OFFLINE

C:\Users\Administrator>crsctl start resource dbvisit-vip12
CRS-2672: Attempting to start 'dbvisit-vip12' on 'w22ora19seha1'
CRS-2676: Start of 'dbvisit-vip12' on 'w22ora19seha1' succeeded

3.2  Installing Dbvagentmanager on Standby Cluster

Installation of Dbvisit software on standby cluster is completely the same as on primary - the only difference is that we’ll install dbvcontrol component in addition to dbvagentmanager. We need first to create the directory which will contain Dbvisit installation DBVISIT_BASE:

Code Block
C:\Users\Administrator>mkdir C:\dbvisit\app

Continue by starting the dbvagentmanager installer and specifying this directory as DBVISIT_BASE (installation file agent-v11.6.0.msi was downloadded to C:\dbvisit\sw):

Code Block
C:\Users\Administrator>msiexec /i C:\dbvisit\sw\control-centeragent-v11.6.0.msi

There’s nothing to change throughout the whole installer except the passphrase - use the same passphrase as before:

...

...

go for next to set passphrase:

...

Use the same passphrase as on the primary cluster, then on the next page make sure to install in C:\dbvisit\app:

...

Code Block
C:\Users\Administrator>notepad C:\dbvisit\app\conf\dbvcontroldbvagentmanager.ini

...

Restart dbvcontrol dbvagentmanager service:

Code Block
C:\dbvisit\app\bin>sc config dbvcontrol obj="dbvisit\oracle"
[SC] ChangeServiceConfig SUCCESS

C:\Users\Administrator>sc.exe config dbvcontrol password= "mysecret"
[SC] ChangeServiceConfig SUCCESS

C:\Users\Administrator>net stop dbvcontroldbvagentmanager && net start dbvcontroldbvagentmanager
The Dbvisit StandbyMP Control CenterAgent service is stopping.
The Dbvisit StandbyMP Control CenterAgent service was stopped successfully.

The Dbvisit StandbyMP Control CenterAgent service is starting.
The Dbvisit StandbyMP Control CenterAgent service was started successfully.

set Set it to manual start mode:

Code Block
C:\Users\Administrator>sc config dbvcontroldbvagentmanager start=demand
[SC] ChangeServiceConfig SUCCESS

Set the permissions to full control on service dbvcontrol dbvagentmanager for “Service Logon User” and “Interactively logged-on user”:

Code Block
sc sdset dbvcontroldbvagentmanager "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;IU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"

3.4  Creating Cluster Action Script for dbvagentmanager and dbvcontrol

We will use the exactly the same action script as on primary cluster, so copy it from there into C:\dbvisit\app\bin

Upload the script to directory C:\dbvisit\app\bin

Code Block
cd C:\Temp
cp dbvcrs.bat C:\dbvisit\app\bin
Note

Do NOT change the script name nor script location. If you do, you will have to make on your own adjustments in the script and in the cluster commands.

Note

Action script will be the same regardless whether you installed dbvcontrol or not

You need to check that the script is working properly. For checking run on 1st SEHA node:

Code Block
cd C:\dbvisit\app\bin
C:\dbvisit\app\bin>dbvcrs.bat stop dbvagentmanager
[SC] SetServiceObjectSecurity SUCCESS

3.3  Installing Dbvcontrol on Standby Cluster

You can skip this section if you will deploy the controlcenter elsewhere.

Start dbvcontrol installation:

Code Block
C:\Users\Administrator>msiexec /i C:\dbvisit\app\bin>dbvcrs.bat check dbvagentmanager
sw\control-center-v11.6.0.msi

There’s nothing to change throughout the whole installer except the passphrase - use the same passphrase as before:

...

And make sure to install it in C:\dbvisit\app

...

:

...

Once installation is completed, edit the dbvagentmanager configruation file and set FileTransferListenAddress to DBVISIT-VIP12.DBVISIT.CZ and save the file

Code Block
C:\Users\Administrator>notepad C:\dbvisit\app\conf\bin>dbvcrs.bat clean dbvagentmanager

C:\dbvisit\app\bin>dbvcrs start dbvagentmanager
Starting service dbvagentmanager
The Dbvisit StandbyMP Agent service is starting.
The Dbvisit StandbyMP Agent service was started successfully.

Checking service dbvagentmanager

SERVICE_NAME: dbvagentmanager
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 4  RUNNING
                                (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

...

dbvcontrol.ini

...

Set all three properties to DBVISIT-VIP12.DBVISIT.CZ

Restart dbvcontrol service:

Code Block
C:\dbvisit\app\bin>sc config dbvcontrol obj="dbvisit\oracle"
[SC] ChangeServiceConfig SUCCESS

C:\Users\Administrator>sc.exe config dbvcontrol password= "mysecret"
[SC] ChangeServiceConfig SUCCESS

C:\Users\Administrator>net stop dbvcontrol && net start dbvcontrol
The Dbvisit StandbyMP Control Center service is stopping.
The Dbvisit StandbyMP Control Center service was stopped successfully.
The Dbvisit StandbyMP Control Center service is starting.
The Dbvisit StandbyMP Control Center service was started successfully.

set it to manual start mode:

Code Block
C:\Users\Administrator>sc config dbvcontrol start=demand
[SC] ChangeServiceConfig SUCCESS

Set the permissions to full control on service dbvcontrol for “Service Logon User” and “Interactively logged-on user”:

Code Block
sc sdset dbvcontrol "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;IU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"

3.4  Creating Cluster Action Script for dbvagentmanager and dbvcontrol

We will use exactly the same action script as on the primary cluster. Download again from GiHub repository:

https://github.com/dbvisitsoftware/standby/blob/main/cluster-action-scripts/dbvcrs.bat

Copy it into C:\dbvisit\app\bin on standby cluster.

Code Block
cd C:\Temp
cp dbvcrs.bat C:\dbvisit\app\bin
Note

Do NOT change the script name nor script location. If you do, you will have to make on your own adjustments in the script and in the cluster commands.

3.5  Creating dbvagentmanager and dbvcontrol service on 2nd SEHA node

On 2nd SEHA node, we need to manually create the Windows service manually, set it’s its startup mode to manual, and change the password (use an actual password):

...

If you installed dbvcontrol as well, continue to perform the same steps for dbvcontrol:

...

Note

Do NOT start the services on the 2nd node

3.6  Creating dbvagentmanager and dbvcontrol Cluster Resources

Skip the dbvcontrol part is if dbvcontrol isn’t installed. Make sure the dbvagentmanager service is stopped on both SEHA nodes. Now we can finally create the dbvagentmanager action script and test VIP + dbvagentmanager relocation:

Code Block
crsctl add resource dbvagentmanager -type generic_application -attr "START_PROGRAM='/dbvisit/app/bin/dbvcrs.bat start dbvagentmanager',STOP_PROGRAM='/dbvisit/app/bin/dbvcrs.bat stop dbvagentmanager',CHECK_PROGRAMS='/dbvisit/app/bin/dbvcrs.bat check dbvagentmanager',CLEAN_PROGRAM='/dbvisit/app/bin/dbvcrs.bat clean dbvagentmanager',CHECK_INTERVAL=10,START_DEPENDENCIES='hard(dbvisit-vip12) pullup(dbvisit-vip12) attraction(dbvisit-vip12)',STOP_DEPENDENCIES='hard(dbvisit-vip12)',PLACEMENT='favored',HOSTING_MEMBERS='w22ora19seha1 w22ora19seha2',ACL='owner:dbvisit\oracle:rwx,pgrp::r-x,other::r--'"

try Try to startup dbvagentmanager via crsctl and verify the service status (must be RUNNING):

...

Code Block
crsctl add resource dbvcontrol -type generic_application -attr "START_PROGRAM='/dbvisit/app/bin/dbvcrs.bat start dbvcontrol',STOP_PROGRAM='/dbvisit/app/bin/dbvcrs.bat stop dbvcontrol',CHECK_PROGRAMS='/dbvisit/app/bin/dbvcrs.bat check dbvcontrol',CLEAN_PROGRAM='/dbvisit/app/bin/dbvcrs.bat clean dbvcontrol',CHECK_INTERVAL=10,START_DEPENDENCIES='hard(dbvisit-vip12) pullup(dbvisit-vip12) attraction(dbvisit-vip12)',STOP_DEPENDENCIES='hard(dbvisit-vip12)',PLACEMENT='favored',HOSTING_MEMBERS='w22ora19seha1 w22ora19seha2',ACL='owner:dbvisit\oracle:rwx,pgrp::r-x,other::r--'"

try Try to startup dbvcontrol via crsctl and verify the service status (must be RUNNING):

...

Code Block
C:\dbvisit\app\bin>crsctl relocate resource dbvisit-vip12 -f
CRS-2673: Attempting to stop 'dbvagentmanager' on 'w22ora19seha1'
CRS-2673: Attempting to stop 'dbvcontrol' on 'w22ora19seha1'
CRS-2677: Stop of 'dbvcontrol' on 'w22ora19seha1' succeeded
CRS-2677: Stop of 'dbvagentmanager' on 'w22ora19seha1' succeeded
CRS-2673: Attempting to stop 'dbvisit-vip12' on 'w22ora19seha1'
CRS-2677: Stop of 'dbvisit-vip12' on 'w22ora19seha1' succeeded
CRS-2672: Attempting to start 'dbvisit-vip12' on 'w22ora19seha2'
CRS-2676: Start of 'dbvisit-vip12' on 'w22ora19seha2' succeeded
CRS-2672: Attempting to start 'dbvagentmanager' on 'w22ora19seha2'
CRS-2676: Start of 'dbvagentmanager' on 'w22ora19seha2' succeeded
CRS-2672: Attempting to start 'dbvcontrol' on 'w22ora19seha2'
CRS-2676: Start of 'dbvcontrol' on 'w22ora19seha2' succeeded

C:\dbvisit\app\bin>crsctl relocate resource dbvisit-vip12 -f
CRS-2673: Attempting to stop 'dbvagentmanager' on 'w22ora19seha2'
CRS-2673: Attempting to stop 'dbvcontrol' on 'w22ora19seha2'
CRS-2677: Stop of 'dbvagentmanager' on 'w22ora19seha2' succeeded
CRS-2677: Stop of 'dbvcontrol' on 'w22ora19seha2' succeeded
CRS-2673: Attempting to stop 'dbvisit-vip12' on 'w22ora19seha2'
CRS-2677: Stop of 'dbvisit-vip12' on 'w22ora19seha2' succeeded
CRS-2672: Attempting to start 'dbvisit-vip12' on 'w22ora19seha1'
CRS-2676: Start of 'dbvisit-vip12' on 'w22ora19seha1' succeeded
CRS-2672: Attempting to start 'dbvagentmanager' on 'w22ora19seha1'
CRS-2676: Start of 'dbvagentmanager' on 'w22ora19seha1' succeeded
CRS-2672: Attempting to start 'dbvcontrol' on 'w22ora19seha1'
CRS-2676: Start of 'dbvcontrol' on 'w22ora19seha1' succeeded

After each relocation of the VIP address, check that dbvagentmanager and dbvcontrol service is running on that respective node and that it’s stopped on the other node. 

This step concludes the installation and setup of Dbvisit on standby SEHA cluster

4.  Creating Dbvisit Database Configuration (DDC) with GUI

Info

In our example we use Dbvcontrol Center on standby SEHA cluster w22ora19seha1 and w22ora19seha2. You can install Dbvcontrol Center there or on any other machine separated from SEHA clusters.

...

In our case, dbvagentmanager is run by domain account dbvisit\oracle, so we need to add him it to two Registry Keys: “Oracle” (HKEY_LOCAL_MACHINE\SOFTWARE\Oracle) and “KEY_OraDB19Home1” (HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\KEY_OraDB19Home1). The privileges needed are “Full Control”

  • Make sure the key “KEY_OraDB19Home1” contains value “ORACLE_SID”

...

Once done, proceed with standby database creationthe next steps.

To start, logon to the GUI. Below are the screenshots showing you how you can use them to create the New Oracle database configuration

...

Step 1:  Open Main Screen, navigate to New Configuration, click (1)

...

Step 2:  Choose (1) the Primary host dbvisit-vip34 from the discovered host list:

...

Step 4:  Next step is to select the Standby Host, ; in this example DBVISIT-VIP12

...

Once the Primary and Standby hosts are selected, you will be presented with the SEHA cluster(s) details. make sure Ensure to correctly enter all SEHA cluster details (nodenames and ASM instances).

...

Continue to fill in the required details. Make sure to correctly set ARCHSOURCE (1) and ARCHDEST (2) - they should ideally be ideally the same directory and exist on primary & standby.

...

Continue changing the rest of the details if needed. In our example, we left everything to the suggested values:

  • Standby Oracle SID

  • Oracle Database Home on the Standby server

  • DB Unique Name (db_unique_name) of the standby if required

  • Dbvisit Base location on the Standby server if different

Finalize by setting the DDC name, and license key and click on “Create Configuration”:

...

6.  Setup Disaster Recovery Database

Once the configuration is created, you can create the SEHA standby database.

Info

To create standby database, Dbvisit uses RMAN compressed backup by default. On Windows this can mean significant time consumption. If you have enough disk space we recommend to disable the RMAN compression before proceeding as displayed on following picture:

...

Note

On primary and standby cluster nodes assign full control privileges to user who runs Dbvisit service (in this example dbvisit\oracle) on directory %ORACLE_HOMEHOME%\database%database

Step 1:  Navigate to the DASHBOARD and click on Set up now

...

Code Block
C:\Users\Administrator>srvctl config database -d TEST01
Database unique name: TEST01
Database name:
Oracle home: C:\app\oracle\product\19.3.0.0\dbhome_1
Oracle user: nt authority\system
Spfile: +DATA/TEST01/parameterfile/spfiletest01.ora
Password file: +DATA/TEST01/password/PWDTEST01.ORA
Domain:
Start options: mount
Stop options: abort
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools:
Disk Groups: FRA,DATA
Mount point paths:
Services:
Type: SINGLE
Database instance: TEST01
Configured nodes: w22ora19seha1,w22ora19seha2
CSS critical: no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network number for database services:
Database is administrator managed

6. Perform Graceful Switchover

Primary Server: dbvisit-vip12

Standby Server dbvisit-vip23

Please refer to the below link for the pre-requisites requisite steps to be performed before switchover.

...

Step 2: Primary and Standby server roles are swapped

...

Step 3: Switchback:

...

7.  Summary

Standby cluster now hosts SEHA standby database, which is also registered within OCR. you You can check by executing the command below on the primary and standby cluster:

Code Block
C:\Users\Administrator>srvctl config database -d TEST01
Database unique name: TEST01
Database name:
Oracle home: C:\app\oracle\product\19.0.0.0\dbhome_1
Oracle user: dbvisit\oracle
Spfile: +DATA/TEST01/parameterfile/spfiletest01.ora
Password file: +DATA/TEST01/password/PWDTEST01.ORA
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools:
Disk Groups: DATA,FRA
Mount point paths:
Services:
Type: SINGLE
Database instance: TEST01
Configured nodes: w19ora19seha3,w19ora19seha4
CSS critical: no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network number for database services:
Database is administrator managed

“Configured nodes” The “Configured nodesattribute needs to contain two cluster nodes otehrwise otherwise, the database isn’t SEHA enabled. “Start options” and “Stop options” are always different for primary and standby database. “Database role” databases. “Database roleis always PRIMARY for both primary and standby databasedatabases.

  • You’re able to failover primary or standby SEHA database by running srvctl relocate database -d TEST01 -node <nodename>

  • There’s no dependency between Dbvisit VIP and the SEHA database, so if you manually relocate SEHA database, you also have to manually relocate Dbvisit VIP: crsctl relocate resource dbvisit-vip12 -f

  • In case when the node where the SEHA database and Dbvisit VIP run wil will fail, gets rebooted, the SEHA database as well as Dbvisit VIP will get failed fail over to the second node automatically

...