Configuring Oracle Database Appliance and Dbvisit Standby v8
Introduction
An Oracle Database Appliance X6 is similar in many ways to an Exadata, in that it is a pre-tuned machine built to run Oracle databases.
But the cost of buying one of these machines is far less than that of it's Exadata cousin. And with the launch of the X6 series last year, it is the first
the engineered system to support Oracle Standard Edition.
The X6-2S that is used for testing is optimized to run Single Instances and this entry level machine is very appealing to small and medium businesses.
A summary of the details for both parts is shown in the table below:
| Primary |
| Standby | Cloud Standby |
Machine Name | ODAS1 |
| ODAS2 | DBVCLD01 |
Type | ODA X6-2 S |
| ODA X6-2 S | Oracle Database as Service (DBaaS) |
OS | REL 6 |
| REL 6 | REL 6 |
Oracle Version | 12.1.0.2 Standard Edition |
| 12.1.0.2 Standard Edition | 12.1.0.2 Standard Edition |
Databases | DBV1 | DBV2 | DBV1 | DBV2 |
CDB / Non-CDB | CDB | Non-CDB | CDB | Non-CDB |
DB Storage | ASM | ACFS | ASM | ACFS |
Dbvisit Standby | 8.0.14.19191 | 8.0.14.19191 | 8.0.14.19191 | 8.0.14.19191 |
1. Configuring Dbvisit Standby v8 between a Primary and Standby Oracle Database Appliance (ODA)
The steps required to configure Dbvisit Standby between two ODA machines are similar to a non-ODA setup. However, there are a couple of quirks that need to be kept in mind and we will explore these later on.
Having access to two 'blank' ODA X6-2 (The Dbvisit ODA Datasheet here) machines with just the OS pre-installed to perform some tests. So we could create 2 new Oracle Databases. Knowing we wanted to demo ODA to Oracle Cloud in a separate test, we decided to create an Oracle 12c CDB database with ASM storage (DBV1) and an Oracle 12c non-CDB database with ACFS filesystem storage (DBV2). This was in order to demonstrate as much of the functionality as possible.
During the database creation, as a part of the database create job SSH equivalence is set for oracle user for both the nodes and this is removed as soon as the database is created, So if you are using SSH instead of dbvnet for the Dbvisit Standby, please take a backup of the keys before creating the database using odacli. You can restore the keys once the database creation is completed.
We would recommend using dbvnet to avoid the above issue.
The issue has been raised with Oracle on this issue 28399738 has been logged with development for this issue. The fix for this issues is planned to be included in the next release 18.7
After logging into the management URL
creating a Database in ODA couldn't be easier. You simply click 'create database' from the Oracle Database Appliance, Databases tab.
The graphic below shows the creation of the first of the 2 databases DBV1 (12c CDB with ASM).
Once the "Create" button is pressed, the screen displays a creation job that can either be monitored as root via the command line tool (odacli) or graphically via a job.
The creation of the database also generates an Oracle Home. The Oracle Homes for the primary databases are created (if you choose to have 2 instead of 1) with each database creation. However, on the Standby host, if there are not yet any databases there will be no Oracle Homes. Keep this in mind and we'll cover this point again later when creating the Standby DDC.
At this time, we choose to also create the 2nd Database DBV2, opting to create a 2nd Oracle Home and having ACFS as the storage option.
Once these databases were created, we can also view both of them and their associated storages from the command line utility (odacli).
[root@odas1 ~]# odacli list-dbstorages
ID Type DBUnique Name Status
---------------------------------------- ------ -------------------- ----------
a33565f6-af30-4bff-a4ea-cb7b71beead0 Asm DBV1 Configured
8847001e-f209-4c4d-a39f-1b50e5707ff3 Acfs DBV2 Configured
[root@odas1 ~]# odacli describe-dbstorage -i a33565f6-af30-4bff-a4ea-cb7b71beead0
DBStorage details
----------------------------------------------------------------
ID: a33565f6-af30-4bff-a4ea-cb7b71beead0
DB Name: DBV1
DBUnique Name: DBV1
DB Resource ID: f4ff4bb5-f102-4bef-8865-e05b4f777711
Storage Type: Asm
DATA Location: DATA
RECO Location: RECO
REDO Location: RECO
State: ResourceState(status=Configured)
Created: July 25, 2017 1:44:09 AM CEST
UpdatedTime: July 25, 2017 1:44:10 AM CEST
[root@odas1 ~]# odacli describe-dbstorage -i 8847001e-f209-4c4d-a39f-1b50e5707ff3
DBStorage details
----------------------------------------------------------------
ID: 8847001e-f209-4c4d-a39f-1b50e5707ff3
DB Name: DBV2
DBUnique Name: DBV2
DB Resource ID: 204fd4e5-ce81-4845-a027-5d154594a599
Storage Type: Acfs
DATA Location: /u02/app/oracle/oradata/DBV2
RECO Location: /u03/app/oracle/fast_recovery_area/
REDO Location: /u03/app/oracle/redo/
State: ResourceState(status=Configured)
Created: July 25, 2017 2:11:10 AM CEST
UpdatedTime: July 25, 2017 2:11:43 AM CEST
[root@odas1 ~]# odacli list-databases
ID DB Name DB Version CDB Class Shape Storage Status DbHomeID
---------------------------------------- ---------- ------------ ------ -------- -------- -------- ------------ ---------------------------------------
f4ff4bb5-f102-4bef-8865-e05b4f777711 DBV1 12.1.0.2 true OLTP odb1 ASM Configured 6b4bd46b-6fea-473d-a49e-4dca8b9fdaa8
204fd4e5-ce81-4845-a027-5d154594a599 DBV2 12.1.0.2 false OLTP odb1 ACFS Configured ac865770-d73d-4afe-9cb9-a27f48d99e0
With these created, it's worthwhile to now consider the standby node. Here, we need to pre-create both the standby database storage and add an Oracle Home. In order to demonstrate both the ease of using the command line and the GUI, we decided to create both the storage and the new Oracle Home from the command line as shown below.
[root@odas2 ~]# odacli create-dbstorage -n DBV1 -r ASM
{
"jobId" : "6227b92f-d829-4db6-96ab-350fda05a177",
"status" : "Created",
"message" : null,
"reports" : [ ],
"createTimestamp" : "July 25, 2017 03:11:21 AM CEST",
"resourceList" : [ ],
"description" : "Database storage service creation with db name: DBV1",
"updatedTime" : "July 25, 2017 03:11:21 AM CEST"
}
[root@odas2 ~]# odacli list-jobs
ID Description Created Status
---------------------------------------- ----------------------------------------------------------- ----------------------------------- ----------
98e6954b-81bc-4d40-8963-a84a35d8b3a4 Repository Update July 20, 2017 8:02:32 PM CEST Success
29caa2bb-1dac-4f05-acaa-c0c498ec3b1b Repository Update July 20, 2017 8:26:15 PM CEST Success
2af9409d-36fc-4bc5-8cb8-aed9b0c3448e Provisioning service creation July 20, 2017 8:38:09 PM CEST Success
034d9be5-88ee-4e9f-b459-dbd24c9cb404 Repository Update July 20, 2017 8:54:57 PM CEST Success
6227b92f-d829-4db6-96ab-350fda05a177 Database storage service creation with db name: DBV1 July 25, 2017 3:11:21 AM CEST Success
[root@odas2 ~]# odacli list-dbstorages
ID Type DBUnique Name Status
---------------------------------------- ------ -------------------- ----------
e282c8f6-5533-4ca9-b8f9-778be71fff39 Asm DBV1 Configured
[root@odas2 ~]# odacli describe-dbstorage -i e282c8f6-5533-4ca9-b8f9-778be71fff39
DBStorage details
----------------------------------------------------------------
ID: e282c8f6-5533-4ca9-b8f9-778be71fff39
DB Name: DBV1
DBUnique Name: DBV1
DB Resource ID:
Storage Type: Asm
DATA Location: DATA
RECO Location: RECO
REDO Location: RECO
State: ResourceState(status=Configured)
Created: July 25, 2017 3:11:21 AM CEST
UpdatedTime: July 25, 2017 3:11:21 AM CEST
[root@odas2 ~]# odacli list-dbhomes
No database home found
[root@odas2 ~]# odacli create-dbhome -v 12.1.0.2
{
"jobId" : "51be424a-e52b-4153-8067-d6a35126f667",
"status" : "Created",
"message" : "Create Database Home",
"reports" : [ ],
"createTimestamp" : "July 26, 2017 02:10:45 AM CEST",
"resourceList" : [ {
"resourceId" : "8de7a0d0-f916-485e-bac4-7a4e392d7f0b",
"resourceType" : "DbHome",
"jobId" : "51be424a-e52b-4153-8067-d6a35126f667",
"updatedTime" : "July 26, 2017 02:10:45 AM CEST"
} ],
"description" : "Database Home OraDB12102_home1 creation with version :12.1.0.2",
"updatedTime" : "July 26, 2017 02:10:45 AM CEST"
}
[root@odas2 ~]# odacli list-dbhomes
ID Name DB Version Home Location Status
---------------------------------------- -------------------- -------------------------------- --------------------------------------------- ----------
8de7a0d0-f916-485e-bac4-7a4e392d7f0b OraDB12102_home1 12.1.0.2.170418 /u01/app/oracle/product/12.1.0.2/dbhome_1 Creating
[root@odas2 ~]# odacli list-dbhomes
ID Name DB Version Home Location Status
---------------------------------------- -------------------- -------------------------------- --------------------------------------------- ----------
8de7a0d0-f916-485e-bac4-7a4e392d7f0b OraDB12102_home1 12.1.0.2.170418 /u01/app/oracle/product/12.1.0.2/dbhome_1 Configured
Download and copy (SCP) over the Dbvisit Standby v8 binaries to each node.
$ scp dbvisit-standby8.0.14-el6.zip root@odas2:/home/oracle/software
dbvisit-standby8.0.14-el6.zip 100% 70MB 139.8KB/s 08:36
$ scp dbvisit-standby8.0.14-el6.zip root@odas1:/home/oracle/software
dbvisit-standby8.0.14-el6.zip 100% 70MB 181.3KB/s 06:38
From there we can proceed with a normal installation of Dbvisit Standby v8
[oracle@odas2 software]$ unzip dbvisit-standby8.0.14-el6.zip
Archive: dbvisit-standby8.0.14-el6.zip
inflating: dbvisit-standby8.0.14-el6.tar
[oracle@odas2 software]$ tar -xvf dbvisit-standby8.0.14-el6.tar
– As root, create and change ownership of /usr/dbvisit
[root@odas1 software]# mkdir /usr/dbvisit
[root@odas1 software]# chown oracle:oinstall /usr/dbvisit
[oracle@odas1 ~]$ cd software/dbvisit/installer/
[oracle@odas1 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/software/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.14.19191 not installed
dbvnet 2.0.14.19191 not installed
dbvagent 2.0.14.19191 not installed
dbvserver 2.0.14.19191 not installed
-----------------------------------------------------------
What action would you like to perform?
1 - Install component(s)
2 - Uninstall component(s)
3 - Terminate
Your choice: 1
Which component do you want to install?
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)
6 - Exit Installer
Your choice: 1
-----------------------------------------------------------
Summary of the Dbvisit STANDBY configuration
-----------------------------------------------------------
DBVISIT_BASE /usr/dbvisit
Press ENTER to continue
-----------------------------------------------------------
About to configure DBVISIT DBVNET
-----------------------------------------------------------
>>> Please specify the Local host name to be used by Dbvnet on this server.
Dbvnet will be listening on the local IP Address on this server which
resolve to the host name specified here.
If using a cluster or virtual IP make sure the host name or alias
specified here resolve to the IP address local to where dbvnet is
installed.
Enter a custom value or press ENTER to accept default [odas1]:
>
>>> Please specify the Local Dbvnet PORT to be used.
Dbvnet will be listening on the specified port for incoming connections
from remote dbvnet connections. Please make sure that this port is not
already in use or blocked by any firewall. You may choose any value
between 1024 and 65535, however the default of 7890 is recommended.
Enter a custom value or press ENTER to accept default [7890]:
>
>>> Please specify the Remote host name to be used by Dbvnet.
By default Dbvnet will use this remote hostname for any remote
connections. Dbvnet must be installed and configured on the specified
remote host. If using a cluster or virtual IP make sure the host name
or alias specified here resolve to the IP address local to where dbvnet
is installed.
If you are unsure about the remote host name during installation, use
the default value which will be the current local hostname.
Enter a custom value or press ENTER to accept default [odas1]:
> odas2
>>> Please specify the Remote Dbvnet PORT to be used.
Dbvnet will connect to the remote server on this specified port.
On the remote host Dbvnet will be listening on the specified port for
incoming connections. Please make sure that this port is not already in
use or blocked by any firewall. You may choose any value between 1024
and 65535, however the default of 7890 is recommended.
Enter a custom value or press ENTER to accept default [7890]:
>
>>> Please specify the Dbvnet Passphrase to be used for secure connections.
The passphrase provided must be the same in both the local and remote
Dbvnet installations. It is used to establish a secure (encrypted)
Dbvnet connections
Enter a custom value:
> kiwi123
-----------------------------------------------------------
Summary of the Dbvisit DBVNET configuration
-----------------------------------------------------------
DBVISIT_BASE /usr/dbvisit
DBVNET_LOCAL_HOST odas1
DBVNET_LOCAL_PORT 7890
DBVNET_REMOTE_HOST odas2
DBVNET_REMOTE_PORT 7890
DBVNET_PASSPHRASE kiwi123
Press ENTER to continue
-----------------------------------------------------------
About to configure DBVISIT DBVAGENT
-----------------------------------------------------------
>>> Please specify the host name to be used for the Dbvisit Agent.
The Dbvisit Agent (Dbvagent) will be listening on this local address.
If you are using the Dbvserver (GUI) - connections from the GUI will be
established to the Dbvisit Agent. The Dbvisit Agent address must be
visible from the Dbvserver (GUI) installation.
If using a cluster or virtual IP make sure the host name or alias
specified here resolve to the IP address local to where dbvnet is
installed.
Enter a custom value or press ENTER to accept default [odas1]:
>
>>> Please specify the listening PORT number for Dbvagent.
The Dbvisit Agent (Dbvagent) will listening on the specified port for
incoming requests from the GUI (Dbvserver). Please make sure that this
port is not already in use or blocked by any firewall. You may choose
any value between 1024 and 65535, however the default of 7891 is
recommended.
Enter a custom value or press ENTER to accept default [7891]:
>
>>> Please specify passphrase for Dbvagent
Each Dbvisit Agent must have a passpharse specified. This passphrase
does not have to match between all the servers. It will be used to
establish a secure connection between the GUI (Dbvserver) and the
Dbvisit Agent.
Enter a custom value:
> kiwi123
-----------------------------------------------------------
Summary of the Dbvisit DBVAGENT configuration
-----------------------------------------------------------
DBVISIT_BASE /usr/dbvisit
DBVAGENT_LOCAL_HOST odas1
DBVAGENT_LOCAL_PORT 7891
DBVAGENT_PASSPHRASE kiwi123
Press ENTER to continue
-----------------------------------------------------------
About to install Dbvisit STANDBY
-----------------------------------------------------------
Component standby installed.
Press ENTER to continue
-----------------------------------------------------------
About to install Dbvisit DBVNET
-----------------------------------------------------------
Component dbvnet installed.
Press ENTER to continue
-----------------------------------------------------------
About to install Dbvisit DBVAGENT
-----------------------------------------------------------
Component dbvagent installed.
Press ENTER to continue
-----------------------------------------------------------
Component Installer Version Installed Version
-----------------------------------------------------------
standby 8.0.14.19191 8.0.14.19191
dbvnet 2.0.14.19191 2.0.14.19191
dbvagent 2.0.14.19191 2.0.14.19191
dbvserver 2.0.14.19191 not installed ---- Leaving this for the standby node
-----------------------------------------------------------
What action would you like to perform?
1 - Install component(s)
2 - Uninstall component(s)
3 - Terminate
Your choice: 3
>>> Installation completed
Install log /tmp/dbvisit_install.log.201707250354.
[oracle@odas1 installer]$
We can then repeat the exercise on the Standby server, also installing dbvserver.
Press ENTER to continue
-----------------------------------------------------------
Component Installer Version Installed Version
-----------------------------------------------------------
standby 8.0.14.19191 8.0.14.19191
dbvnet 2.0.14.19191 2.0.14.19191
dbvagent 2.0.14.19191 2.0.14.19191
dbvserver 2.0.14.19191 not installed
-----------------------------------------------------------
What action would you like to perform?
1 - Install component(s)
2 - Uninstall component(s)
3 - Terminate
Your choice: 1
Which component do you want to install?
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)
6 - Exit Installer
Your choice: 5
-----------------------------------------------------------
About to configure DBVISIT DBVSERVER
-----------------------------------------------------------
>>> Please specify the host name to be used for Dbvserver
The Dbvisit Web Server (Dbvserver) will be listening on this local
address. If using a cluster or virtual IP make sure the host name or
alias specified here resolve to the IP address local to where Dbvserver
is installed.
If you are unsure about the remote host name during installation, use
the default value which will be the current local hostname.
Enter a custom value or press ENTER to accept default [odas2]:
>
>>> Please specify the listening port number for Dbvserver on the local server
You may choose any value between 1024 and 65535. The default recommended
value is 4433.
Note: if you can not access this port after the installation has
finished, then please double-check your server firewall settings
to ensure the selected port is open.
Enter a custom value or press ENTER to accept default [4433]:
>
-----------------------------------------------------------
Summary of the Dbvisit DBVSERVER configuration
-----------------------------------------------------------
DBVISIT_BASE /usr/dbvisit
DBVSERVER_LOCAL_HOST odas2
DBVSERVER_LOCAL_PORT 4433
Press ENTER to continue
-----------------------------------------------------------
About to install Dbvisit DBVSERVER
-----------------------------------------------------------
Component dbvserver installed.
Press ENTER to continue
-----------------------------------------------------------
Component Installer Version Installed Version
-----------------------------------------------------------
standby 8.0.14.19191 8.0.14.19191
dbvnet 2.0.14.19191 2.0.14.19191
dbvagent 2.0.14.19191 2.0.14.19191
dbvserver 2.0.14.19191 2.0.14.19191
-----------------------------------------------------------
What action would you like to perform?
1 - Install component(s)
2 - Uninstall component(s)
3 - Terminate
Your choice: 3
>>> Installation completed
Install log /tmp/dbvisit_install.log.201707250359.
[oracle@odas2 installer]$