Upgrading to Dbvisit Standby 8.0.x
Dbvisit provides upgrade documentation which is detailed and in principle correct but only describes the upgrade process from the viewpoint of an installation on a single host.
I upgraded Dbvisit Standby at a customer’s site with Dbvisit Standby in a running configuration with several hosts with several primary and standby databases. I found, by trial and error and with the help of Dbvisit support, some additional steps and points of advice that I think may be of help to others.
This documents describes the upgrade process for a working environment and provides information and advice in addition to the upgrade documentation. Those additions will be clearly marked in red throughout the blog. Also the steps of the upgrade process have been rearranged in a more logical order.
It is assumed that the reader is familiar with basic Dbvisit concepts and processes.
Configuration
The customer’s configuration that was upgraded is as follows:
- Dbvisit 8.0.14
- 4 Linux OEL 6 hosts running Dbvisit Standby
- 6 databases in Dbvisit Standby configuration distributed among the hosts
- 1 Linux OEL 7 host running Dbvisit Console
- DBIVIST_BASE: /usr/dbvisit
- Dbvctl running in Deamon mode
Dvisit upgrade overview
The basic steps that are outlined in the Dbvisit upgrade documentation are as follows:
- Stop your Dbvisit Schedules if you have any running.
- Stop or wait for any Dbvisit processes that might still be executing.
- Backup the Dbvisit Base location where your software is installed.
- Download the latest version from www.dbvisit.com.
- Extract the install files into a temporary folder, example /home/oracle/8.0.
- Start the Installer and select to install the required components.
- Once the update is complete, you can remove the temporary install folder where the installer was extracted.
- It is recommended to run a manual send/apply of logs once an upgrade is complete.
- Re-enable any schedules.
During the actual upgrade we deviated significantly from this: steps were rearranged, added and changed slightly.
- Download the latest available version of DBVisit and make it available on all server.
- Make a note of the primary host for each Dbvisit standby configuration.
- Stop dbvisit processes.
- Backup the Dbvisit Base location where your software is installed.
- Upgrade the software.
- Start dbvagent and dbvnet.
- Upgrade de DDC configuration files.
- Restart dbvserver.
- Update DDC’s in Bbvisit Console.
- run a manual send/apply of logs.
- Restart dbvsit standby processes.
In the following sections these steps will be explained more detailed.
Dbvisit Standby upgrade
Here follow the steps in detail that in my view should be taken for a Dbvisit upgrade, based on the experience and steps taken during the actual Dbvisit upgrade.
- Download the latest available version of DBVisit and make it available on all server.
In our case I put it in /home/oracle/upgrade on all hosts. The versions used were 8.0.18 for Oracle Enterprise Linux 6 and 7:dbvisit-standby8.0.18-el6.zip dbvisit-standby8.0.18-el7.zip
- Make a note of the primary hosts for each Dbvisit standby configuration.
You will need this information later in step 7. It is possible to get the information from the DDC .env files, but in our case it is easier to get it from the Dbvisit console.
If you need to get them from the DDC .env files look for the SOURCE parameter. Say we have a database db1:[root@dbvhost04 conf]# cd /usr/dbvisit/standby/conf/ [root@dbvhost04 conf]# grep "^SOURCE" dbv_db1.env SOURCE = dbvhost04
- Stop dbvisit processes.
The Dbvisit upgrade manual assumes you schedule dbvctl from the cron. In our situation the dbvctl processes were running in Deamon mode. Easiest was therefor to stop them from the Dbvisit console. Go to Main Menu -> Database Actions -> Daemon Actions -> select both hosts in turn and choose stop.
Dbvagent, dbvnet and, on the Dbvisit console host, dbvserver can be stopped as follows:cd /usr/dbvisit/dbvagent ./dbvagent -d stop cd /usr/dbvisit/dbvnet ./dbvnet -d stop cd /usr/dbvisit/dbvserver ./dbvserver -d stop
Do this on all hosts. Dbvisit support advices that all hosts in a configuration be upgraded at the same time. There is no rolling upgrade or something similar.
Check before proceeding if all processes are down. - Backup the Dbvisit Base location where your software is installed.
The Dbvisit upgrade manual marks this step as optional – but recommended. In my view it is not optional.
You can simply tar everything under DBIVIST_BASE for later use. - Upgrade the software.
Extract the downloaded software and run the included installer. It will show you which version you already have and which versions is available in the downloaded software. Choose the correct install option to upgrade. Below you can see the upgrade of one of the OEL 6 database hosts running Dbvisit standby:cd /home/oracle/upgrade <unzip and untar the correct version from /home/oracle/upgrade> cd dbvisit/installer/ ./install-dbvisit ----------------------------------------------------------- Welcome to the Dbvisit software installer. ----------------------------------------------------------- It is recommended to make a backup of our current Dbvisit software location (Dbvisit Base location) for rollback purposes. Installer Directory /home/oracle/upgrade/dbvisit >>> Please specify the Dbvisit installation directory (Dbvisit Base). The various Dbvisit products and components - such as Dbvisit Standby, Dbvisit Dbvnet will be installed in the appropriate subdirectories of this path. Enter a custom value or press ENTER to accept default [/usr/dbvisit]: > DBVISIT_BASE = /usr/dbvisit ----------------------------------------------------------- Component Installer Version Installed Version ----------------------------------------------------------- standby 8.0.18_0_gc6a0b0a8 8.0.14.19191 dbvnet 8.0.18_0_gc6a0b0a8 2.0.14.19191 dbvagent 8.0.18_0_gc6a0b0a8 2.0.14.19191 dbvserver 8.0.18_0_gc6a0b0a8 not installed ----------------------------------------------------------- What action would you like to perform? 1 - Install component(s) 2 - Uninstall component(s) 3 - Exit Your choice: 1 Choose component(s): 1 - Core Components (Dbvisit Standby Cli, Dbvnet, Dbvagent) 2 - Dbvisit Standby Core (Command Line Interface) 3 - Dbvnet (Dbvisit Network Communication) 4 - Dbvagent (Dbvisit Agent) 5 - Dbvserver (Dbvisit Central Console) - Not available on Solaris/AIX 6 - Exit Installer Your choice: 1 ----------------------------------------------------------- Summary of the Dbvisit STANDBY configuration ----------------------------------------------------------- DBVISIT_BASE /usr/dbvisit Press ENTER to continue ----------------------------------------------------------- About to install Dbvisit STANDBY ----------------------------------------------------------- Component standby installed. Press ENTER to continue ----------------------------------------------------------- About to install Dbvisit DBVNET ----------------------------------------------------------- Copied file /home/oracle/upgrade/dbvisit/dbvnet/conf/cert.pem to /usr/dbvisit/dbvnet/conf/cert.pem Copied file /home/oracle/upgrade/dbvisit/dbvnet/conf/ca.pem to /usr/dbvisit/dbvnet/conf/ca.pem Copied file /home/oracle/upgrade/dbvisit/dbvnet/conf/prikey.pem to /usr/dbvisit/dbvnet/conf/prikey.pem Copied file /home/oracle/upgrade/dbvisit/dbvnet/dbvnet to /usr/dbvisit/dbvnet/dbvnet Copied file /usr/dbvisit/dbvnet/conf/dbvnetd.conf to /usr/dbvisit/dbvnet/conf/dbvnetd.conf.201802201235 DBVNET config file updated Press ENTER to continue ----------------------------------------------------------- About to install Dbvisit DBVAGENT ----------------------------------------------------------- Copied file /home/oracle/upgrade/dbvisit/dbvagent/conf/cert.pem to /usr/dbvisit/dbvagent/conf/cert.pem Copied file /home/oracle/upgrade/dbvisit/dbvagent/conf/ca.pem to /usr/dbvisit/dbvagent/conf/ca.pem Copied file /home/oracle/upgrade/dbvisit/dbvagent/conf/prikey.pem to /usr/dbvisit/dbvagent/conf/prikey.pem Copied file /home/oracle/upgrade/dbvisit/dbvagent/dbvagent to /usr/dbvisit/dbvagent/dbvagent Copied file /usr/dbvisit/dbvagent/conf/dbvagent.conf to /usr/dbvisit/dbvagent/conf/dbvagent.conf.201802201235 DBVAGENT config file updated Press ENTER to continue ----------------------------------------------------------- Component Installer Version Installed Version ----------------------------------------------------------- standby 8.0.18_0_gc6a0b0a8 8.0.18_0_gc6a0b0a8 dbvnet 8.0.18_0_gc6a0b0a8 8.0.18_0_gc6a0b0a8 dbvagent 8.0.18_0_gc6a0b0a8 8.0.18_0_gc6a0b0a8 dbvserver 8.0.18_0_gc6a0b0a8 not installed ----------------------------------------------------------- What action would you like to perform? 1 - Install component(s) 2 - Uninstall component(s) 3 - Exit Your choice: 3
- Start dbvagent and dbvnet.
For the next step dbvagent and dbvnet need to be running. In our case we had an init script which started both:cd /etc/init.d ./dbvisit start
Otherwise do something like:
cd /usr/dbvisit/dbvnet ./dbvnet –d start cd /usr/dbvisit/dbvagent ./dbvagent –d start
The upgrade documentation at this point refers to section 5 of the Dbvisit Standby Networking chapter from the Dbvisit 8.0 user guide: Testing Dbvnet Communication. There some tests to see if dbvnet is working are described. It is important, as the upgrade documentation rightly points, out to test this before proceeding.
Do on all database hosts:[oracle@dbvhost04 init.d]$ cd /usr/dbvisit/dbvnet/ [oracle@dbvhost04 dbvnet]$ ./dbvnet -e "uname -n" dbvhost01 [oracle@dbvhost04 dbvnet]$ ./dbvnet -f /tmp/dbclone_extract.out.err -o /tmp/testfile [oracle@dbvhost04 dbvnet]$ cd /usr/dbvisit/standby [oracle@dbvhost04 standby]$ ./dbvctl -f system_readiness Please supply the following information to complete the test. Default values are in []. Enter Dbvisit Standby location on local server: [/usr/dbvisit]: Your input: /usr/dbvisit Is this correct? <Yes/No> [Yes]: Enter the name of the remote server: []: dbvhost01 Your input: dbvhost01 Is this correct? <Yes/No> [Yes]: Enter Dbvisit Standby location on remote server: [/usr/dbvisit]: Your input: /usr/dbvisit Is this correct? <Yes/No> [Yes]: Enter the name of a file to transfer relative to local install directory /usr/dbvisit: [standby/doc/README.txt]: Your input: standby/doc/README.txt Is this correct? <Yes/No> [Yes]: Choose copy method: 1) /usr/dbvisit/dbvnet/dbvnet 2) /usr/bin/scp Please enter choice [1] : Is this correct? <Yes/No> [Yes]: Enter port for method /usr/dbvisit/dbvnet/dbvnet: [7890]: Your input: 7890 Is this correct? <Yes/No> [Yes]: ------------------------------------------------------------- Testing the network connection between local server and remote server dbvhost01. ------------------------------------------------------------- Settings ======== Remote server =dbvhost01 Dbvisit Standby location on local server =/usr/dbvisit Dbvisit Standby location on remote server =/usr/dbvisit Test file to copy =/usr/dbvisit/standby/doc/README.txt Transfer method =/usr/dbvisit/dbvnet/dbvnet port =7890 ------------------------------------------------------------- Checking network connection by copying file to remote server dbvhost01... ------------------------------------------------------------- Trace file /usr/dbvisit/standby/trace/58867_dbvctl_f_system_readiness_201803201304.trc File copied successfully. Network connection between local and dbvhost01 correctly configured.
- Upgrade de DDC configuratie files.
Having upgraded the software now the Dbvisit Standby Configuration (DDC) files, which are located in DBVISIT_BASE/standby/conf, on the database hosts need to be upgraded.
Do this once for each standby configuration only on the primary host. If you do it on the secondary host you will get an error and all DDC configuration files will be deleted!
So if we have a database db1 in a Dbvisit standby configuration with database host dbvhost1 running the primary database (source in Dbvisit terminology) and database host dbvhost2 running the standby database (destination in Dbvisit terminology), we do the following on the dbvhost1 only:cd /usr/dbvisit/standby ./dbvctl -d db1 -o upgrade
- Restart dbvserver.
In our configuration the next step is to restart dbvserver to renable the Dbvisit Console.cd /usr/dbvisit/dbvserver ./dbvserver -d start
- Update DDC’s in Dbvisit Console.
After the upgrade the configurations need to te be updated in Dbvisit Console. Go to Manage Configurations and status field will show an error and the edit configuration button is replaced with an update button.
Update the DDC for each configuration on that screen. - run a manual send/apply of logs.
In our case this was easiest done from the Dbvisit console again: Main Menu -> Database Actions -> send logs button, followed by apply logs button.
Do this for each configuration and check for errors before continuing. - Restart Dbvsit standby processes.
In our case we restarted the dbvctl processes in deamon mode from the Dbvisit Console. Go to Main Menu -> Database Actions -> Daemon Actions -> select both hosts in turn and choose start.
References
Linux – Upgrade from Dbvisit Standby version 8.0.x
Dbvisit Standby Networking – Dbvnet – 5. Testing Dbvnet Communication