Dbvisit Standby and using Non-RAC Clusters

Dbvisit Standby can be run as part of a non RAC cluster. For example: a VERITAS Cluster Server or Microsoft Cluster Server.

A two (or more) node cluster is a system where one node is active and the other node(s) is in a dormant state. If the dormant node detects that the other node is no longer active, then it will activate itself and become the active node. The database will have an outage while it is being relocated to the new node.

The cluster will usually have a (shared) file system which is either mounted on node 1 or node 2 depending on which is the active node. When the cluster fails over to the other node, the new active node will mount the file system.The cluster will have a virtual node name and a virtual IP address. This virtual name and IP address will be associated with the active node and will swap over to the other node if that node becomes active.To setup Dbvisit Standby on a two node cluster you can either choose to either install Dbvisit Standby on the shared file system or a local file system.

  • If you install Dbvisit Standby on a shared file system, you only need to install Dbvisit Standby once and maintain one copy of Dbvisit Standby.
  • If you install Dbvisit Standby on a local file system, you will need to install Dbvisit Standby twice and maintain 2 copies of Dbvisit Standby.

In a cluster, the physical node that Dbvisit Standby runs on is may change. Dbvisit Standby may run on any one of the nodes in the cluster. Therefore, Dbvisit Standby cannot use the hostname or server name of the server it is currently running on.
In a cluster environment it is common to use the virtual hostname of the cluster rather than the physical hostname of the node. 
To specify a virtual hostname or server name to use for Dbvisit Standby, set the HOSTNAME_CMD variable in the DDC file.
Example for a VERITAS Cluster server on Unix:

 

HOSTNAME_CMD = /usr/local/bin/cluster_hostname.sh

The cluster_hostname.sh may be a script that contains commands to obtain the virtual cluster name:

 

/opt/VRTS/bin/haclus -display 2>/dev/null | grep -i clustername | awk '{print $2}'

It can also be an echo or print command that prints out the cluster name.

On Windows (for Windows Fail safe) the file is called:

 

HOSTNAME_CMD = C:\Program Files (x86)\Dbvisit\Standby\hostname.bat

Example: If your cluster server name is mcsc01
The hostname.bat script will contain one line:
echo mcsc01

See http://www.dbvisit.com/forums/showthread.php?t=20 for more information.

1. Ensure that the HOSTNAME_CMD script has the correct permissions and is executable.

2. Standby Server: Do not create the HOSTNAME_CMD script on the standby server. If HOSTNAME_CMD is specified but does not exist on the server, then Dbvisit Standby ignores the HOSTNAME_CMD and uses the regular method to obtain the hostname of the server.

3. A cluster should not be confused with Oracle RAC. In a cluster there is only one physical database running on one node in the cluster. With Oracle RAC, there is a separate instance running on each node of the RAC. In Oracle RAC, each node in the RAC is involved with the database. In a cluster, only one node is involved with running the database.