By Mouhamadou Diaw

Dbvisit Standby can also be installed on Oracle Database Appliance (ODA). The installation is the same that on any other Linux box. I did an install of Dbvist 10 on an ODA 19.12 for a customer and in this blog I am describing the on an ODA steps.
The configuration is below
-The primary server is oda-prod-01
-The standby server is oda-dev-01
-The database name is ORCL

Dbvisit should be installed on both servers (primary and standby). Below I describe the installation on the primary server but you will do the same steps on the standby
We first unpack the downloaded software.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[oracle@oda-prod-01 software]$ unzip dbvisit-standby10.1.0-linux.zip
Archive:  dbvisit-standby10.1.0-linux.zip
  inflating: dbvisit-standby10.1.0.tar
[oracle@oda-prod-01 software]$ tar xvf dbvisit-standby10.1.0.tar
./dbvisit/
./dbvisit/dbvnet/
./dbvisit/dbvnet/conf/
./dbvisit/dbvnet/conf/dbvnetd.conf
./dbvisit/standby/conf/dbv_error.html
./dbvisit/observer/doc/
./dbvisit/observer/log/
./dbvisit/observer/observersvc
./README.txt
./INSTALL.txt
[oracle@oda-prod-01 software]$

We create the installation location and give the ownership to oracle

1
2
3
[root@oda-prod-01 ~]# mkdir -p /u01/app/dbvisit
[root@oda-prod-01 ~]# chown -R oracle:oinstall /u01/app/dbvisit
[root@oda-prod-01 ~]#

For the installation go the installer folder and run the install_dbvisit executable and to fill required info

Install Core Components

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
[oracle@oda-prod-01 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 /u01/app/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]:
     > /u01/app/dbvisit
    DBVISIT_BASE = /u01/app/dbvisit
    -----------------------------------------------------------
    Component      Installer Version   Installed Version
    -----------------------------------------------------------
    standby        10.1.0_0_gba3a9e08                                not installed                            
    dbvnet         10.1.0_0_gba3a9e08 (dbvnet v1.5.0-317-gbd2ce3f)   not installed                            
    dbvagent       10.1.0_0_gba3a9e08                                not installed                            
    dbvserver      10.1.0_0_gba3a9e08                                not installed                            
    observer       10.1.0_0_gba3a9e08                                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 - Dbvisit Observer (Automatic Failover Option) - Not available on Solaris/AIX
    Press ENTER to exit Installer
    Your choice: 1
>>> Please specify the Oracle Instant Client version.
    The Oracle Instant Client is a required library for Dbvisit products.
    You may choose 12.1 or 12.2, however the default version is 12.2.
    Enter a custom value or press ENTER to accept default [12.2]:
     >
-----------------------------------------------------------
    Summary of the Dbvisit STANDBY configuration
-----------------------------------------------------------
    DBVISIT_BASE /u01/app/dbvisit
    INSTANT_CLIENT_VERSION 12.2
    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.  The host name should resolve to IPv4 address, if not
    you can use an IPv4 IP address instead of host name.
    Enter a custom value or press ENTER to accept default [oda-prod-01]:
     >
>>> 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 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:
     > ******
-----------------------------------------------------------
    Summary of the Dbvisit DBVNET configuration
-----------------------------------------------------------
    DBVISIT_BASE /u01/app/dbvisit
    DBVNET_LOCAL_HOST oda-prod-01
    DBVNET_LOCAL_PORT 7890
    DBVNET_PASSPHRASE ****
    Press ENTER to continue
-----------------------------------------------------------
    About to configure DBVISIT DBVAGENT
-----------------------------------------------------------
>>> Please specify the IPv4 address or host name to be used for the Dbvisit Agent.
    The Dbvisit Agent (Dbvagent) will be listening on this local address.
    Connections from Dbvserver (GUI) will be established to this Dbvagent,
    thus the address must be visible from the Dbvserver location.
    If using a cluster or virtual IP, make sure the host name or alias
    specified here resolves to the IP address local to where the Dbvagent
    is installed.
    The host name should resolve to an IPv4 address, otherwise you can use
    an IPv4 IP address instead of a host name.
    Enter a custom value or press ENTER to accept default [oda-prod-01]:
     >
>>> Please specify the listening PORT number for Dbvagent.
    The Dbvisit Agent (Dbvagent) will be listening on the specified port for
    incoming requests from Dbvserver (GUI). Please make sure that this
    port is not already in use, and is not 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 the passphrase for Dbvagent
    Each Dbvisit Agent must have a passphrase specified. Think of this passphrase
    as the password for Dbvserver (GUI) to access each Dbvagent securely.
    The passphrase can be unique to each Dbvagent. It will be used to establish a
    secure connection between Dbvserver and the Dbvisit Agent.
    Enter a custom value:
     > ****
>>> Please specify the IPv4 address or host name to be used for the
      Dbvserver Return Address (OPTIONAL)
    This is an advanced, and OPTIONAL parameter. If unsure, please accept
    the default value, which is blank.
    If necessary, you can use this parameter to specify a fixed IPv4 address
    for the Dbvisit Dbvserver (GUI). In the overwhelming majority of cases,
    our software will handle this for you automatically, and setting
    this parameter should NOT be necessary.
    If, however, your Dbvserver's externally-visible address differs from
    the locally-resolved address, you can specify it here. The most common
    scenario where this can happen is if you have address forwarding set up
    on a cloud-deployed environment. If set, Dbvagent will use this address
    instead of any other to connect to Dbvserver.
    Enter a custom value or press ENTER to accept default [ ]:
     >
>>> Please specify the port number to be used as the
      Dbvserver Return Port (OPTIONAL)
    This is an advanced, and OPTIONAL parameter.
    This is the port value to match the OPTIONAL Dbvserver Return Address
    parameter immediately above. If unsure, please accept the default value,
    which is blank.
    Enter a custom value or press ENTER to accept default [ ]:
     >
-----------------------------------------------------------
    Summary of the Dbvisit DBVAGENT configuration
-----------------------------------------------------------
    DBVISIT_BASE /u01/app/dbvisit
    DBVAGENT_LOCAL_HOST oda-prod-01
    DBVAGENT_LOCAL_PORT 7891
    DBVAGENT_PASSPHRASE ******
    DBVAGENT_WEBSERVER_HOST
    DBVAGENT_WEBSERVER_PORT
    Press ENTER to continue
-----------------------------------------------------------
    About to install Dbvisit STANDBY
-----------------------------------------------------------
    NTF repo installed.
    Component standby installed.
-----------------------------------------------------------
    About to install Dbvisit DBVNET
-----------------------------------------------------------
    Component dbvnet installed.
-----------------------------------------------------------
    About to install Dbvisit DBVAGENT
-----------------------------------------------------------
    Component dbvagent installed.
    -----------------------------------------------------------
    Component      Installer Version   Installed Version
    -----------------------------------------------------------
    standby        10.1.0_0_gba3a9e08                                10.1.0_0_gba3a9e08                       
    dbvnet         10.1.0_0_gba3a9e08 (dbvnet v1.5.0-317-gbd2ce3f)   10.1.0_0_gba3a9e08 (dbvnet v1.5.0-317-gbd2ce3f)
    dbvagent       10.1.0_0_gba3a9e08                                10.1.0_0_gba3a9e08                       
    dbvserver      10.1.0_0_gba3a9e08                                not installed                            
    observer       10.1.0_0_gba3a9e08                                not installed                            
    -----------------------------------------------------------
  What action would you like to perform?
       1 - Install component(s)
       2 - Uninstall component(s)
       3 - Exit
    Your choice:3
>>> Installation completed
    Install log /tmp/dbvisit_install.log.202110190853.
[oracle@oda-prod-01 installer]$

Once installation done without errors, we can start the daemons
-dbvagent
-dbvnet

1
2
3
4
5
6
7
8
9
[oracle@oda-prod-01 installer]$ /u01/app/dbvisit/dbvagent/dbvagent -d start
Dbvagent daemon started.
[oracle@oda-prod-01 installer]$ /u01/app/dbvisit/dbvnet/dbvnet -d start
Dbvnet daemon started with pid 97674.
[oracle@oda-prod-01 installer]$ ps -ef|grep dbvagent|grep -v grep
oracle   97206     1  0 09:05 ?        00:00:00 /u01/app/dbvisit/dbvagent/dbvagent -d start
[oracle@oda-prod-01 installer]$ ps -ef|grep dbvnet|grep -v grep
oracle   97674     1  0 09:05 ?        00:00:00 /u01/app/dbvisit/dbvnet/dbvnet -d start
[oracle@oda-prod-01 installer]$

Repeat the same install on the standby server.

Install dbserver

Dbvisit comes with a central console GUI which is called dbvserver console. This console can be installed on a standalone server. In our case we install it on the primary server. Just on the installer directory, launch the install-dbvisit file

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
oracle@oda-prod-01:/u01/app/oracle/software/dbvisit/installer/ [ORCL] ./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 /u01/app/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]:
     > /u01/app/dbvisit
    DBVISIT_BASE = /u01/app/dbvisit
    -----------------------------------------------------------
    Component      Installer Version   Installed Version
    -----------------------------------------------------------
    standby        10.1.0_0_gba3a9e08                                10.1.0_0_gba3a9e08
    dbvnet         10.1.0_0_gba3a9e08 (dbvnet v1.5.0-317-gbd2ce3f)   10.1.0_0_gba3a9e08 (dbvnet v1.5.0-317-gbd2ce3f)
    dbvagent       10.1.0_0_gba3a9e08                                10.1.0_0_gba3a9e08
    dbvserver      10.1.0_0_gba3a9e08                                not installed
    observer       10.1.0_0_gba3a9e08                                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 - Dbvisit Observer (Automatic Failover Option) - Not available on Solaris/AIX
    Press ENTER to exit Installer
    Your choice: 5
-----------------------------------------------------------
    About to configure DBVISIT DBVSERVER
-----------------------------------------------------------
>>> Please specify the IPv4 address 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 that the host name
    or alias specified here resolve to the IP address local to where Dbvserver
    is installed.
    It is recommended that you set this parameter to an IP address,
    as opposed to a host name.
    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 [oda-prod-01]:
     >
>>> 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]:
     >
>>> Please specify the IPv4 address to be used for the Dbvserver public interface
    The public interface address will be used by Dbvagents
    for sending back information, e.g. Task progress.
    This should be set to the externally-visible IP address of the local host.
    Enter a custom value or press ENTER to accept default [oda-prod-01]:
     >
>>> Please specify a publicly-available port number for Dbvserver.
    Like the Public Address setting previously, this port should be remotely accessible,
    and can potentially be different from the Dbvserver Listening Port, especially
    if your server is behind a DMZ. If you are unsure of the correct value for this parameter,
    it is usually fine to leave it the same as the Listener Port setting.
    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 /u01/app/dbvisit
    DBVSERVER_LOCAL_HOST oda-prod-01
    DBVSERVER_LOCAL_PORT 4433
    DBVSERVER_PUBLIC_HOST oda-prod-01
    DBVSERVER_PUBLIC_PORT 4433
    Press ENTER to continue
-----------------------------------------------------------
    About to install Dbvisit DBVSERVER
-----------------------------------------------------------
    Component dbvserver installed.
    -----------------------------------------------------------
    Component      Installer Version   Installed Version
    -----------------------------------------------------------
    standby        10.1.0_0_gba3a9e08                                10.1.0_0_gba3a9e08
    dbvnet         10.1.0_0_gba3a9e08 (dbvnet v1.5.0-317-gbd2ce3f)   10.1.0_0_gba3a9e08 (dbvnet v1.5.0-317-gbd2ce3f)
    dbvagent       10.1.0_0_gba3a9e08                                10.1.0_0_gba3a9e08
    dbvserver      10.1.0_0_gba3a9e08                                10.1.0_0_gba3a9e08
    observer       10.1.0_0_gba3a9e08                                not installed
    -----------------------------------------------------------
    What action would you like to perform?
       1 - Install component(s)
       2 - Uninstall component(s)
       3 - Exit
    Your choice: 3
>>> Installation completed
    Install log /tmp/dbvisit_install.log.202110260855.
oracle@oda-prod-01:/u01/app/oracle/software/dbvisit/installer/ [ORCL]

Once installed the dbserver daemon can be starded

1
oracle@oda-prod-01:/u01/app/oracle [ORCL] /u01/app/dbvisit/dbvserver/dbvserver -d start

To connect to the dbserver console go to the following URL https://oda-prod-01:4433/. You can log in with the following credentials

login : admin
password : admin –you should change your password

Standby Creation
For the standby creation, we first test the network between the two servers.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
[oracle@oda-prod-01 dbvisit]$ /u01/app/dbvisit/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: [/u01/app/dbvisit]:
Your input: /u01/app/dbvisit
Is this correct?  [Yes]:
Enter the name of the remote server: []: oda-dev-01
Your input: oda-dev-01
Is this correct?  [Yes]:
Enter Dbvisit Standby location on remote server: [/u01/app/dbvisit]:
Your input: /u01/app/dbvisit
Is this correct?  [Yes]:
Enter the name of a file to transfer relative to local install directory
/u01/app/dbvisit: [standby/doc/README.txt]:
Your input: standby/doc/README.txt
Is this correct?  [Yes]:
Choose copy method:
1)   /u01/app/dbvisit/dbvnet/dbvnet
2)   /usr/bin/scp
Please enter choice [1] : 1
Is this correct?  [Yes]:
Enter port for method /u01/app/dbvisit/dbvnet/dbvnet: [7890]:
Your input: 7890
Is this correct?  [Yes]:
-------------------------------------------------------------
Testing the network connection between local server and remote server oda-dev-01.
-------------------------------------------------------------
Settings
========
Remote server                                          =oda-dev-01
Dbvisit Standby location on local server               =/u01/app/dbvisit
Dbvisit Standby location on remote server              =/u01/app/dbvisit
Test file to copy                                      =/u01/app/dbvisit/standby/doc/README.txt
Transfer method                                        =/u01/app/dbvisit/dbvnet/dbvnet
port                                                   =7890
-------------------------------------------------------------
Checking network connection by copying file to remote server oda-dev-01...
-------------------------------------------------------------
Trace file /u01/app/dbvisit/standby/trace/72017_dbvctl_f_system_readiness_202110190957.trc
File copied successfully. Network connection between local and oda-dev-01
correctly configured.
[oracle@oda-prod-01 dbvisit]$

We then create the configuration file for the database ORCL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
[oracle@oda-prod-01 ~]$ /u01/app/dbvisit/standby/dbvctl -o setup
=========================================================
     Dbvisit Standby Database Technology (10.1.0_0_gba3a9e08)
           http://www.dbvisit.com
=========================================================
=>dbvctl only needs to be run on the primary server.
Is this the primary server?  [Yes]:
The following Dbvisit Database configuration (DDC) file(s) found on this
server:
     DDC
     ===
1)   Create New DDC
2)   Cancel
Please enter choice [] : 1
Is this correct?  [Yes]:
    END USER LICENSE AGREEMENT
    PLEASE READ THIS END USER LICENSE AGREEMENT (AGREEMENT) CAREFULLY BEFORE
    DOWNLOADING THE LICENSED PRODUCT. BY CLICKING I AGREE BELOW, YOU ARE
    REPRESENTING THAT YOU HAVE THE RIGHT AND AUTHORITY TO LEGALLY BIND YOURSELF
    OR YOUR COMPANY, AS APPLICABLE AND YOU ARE AGREEING TO BE BOUND BY THE
    TERMS AND CONDITIONS OF THIS AGREEMENT, THE SUPPORT AGREEMENT AND THE
    IMPLEMENTATION ASSISTANCE AGREEMENT. IF YOU DO NOT AGREE TO THE TERMS OF
    THIS AGREEMENT, THE SUPPORT AGREEMENT OR THE IMPLEMENTATION ASSISTANCE
    AGREEMENT, CLICK I DO NOT AGREE AND YOU WILL NOT BE PERMITTED TO DOWNLOAD
    THE LICENSED PRODUCT.
    1. Interpretation
    The following terms have the following meanings throughout this Agreement:
    Agreement means this end user license agreement;
    Authorized Users means individuals within Your organization who are
    authorized by you to use the Licensed Product.
    Error means a defect in the Licensed Product which causes the Licensed
    Product not to operate substantially in accordance with the specifications
    published in the Documentation.
    
    
    
    Product have no authority to alter this Agreement. Any provision found
    by a tribunal of competent jurisdiction to be illegal or unenforceable
    shall be automatically conformed to the minimum requirements of law and
    all other provisions shall remain in full force and effect. Waiver of any
    provision of this Agreement in one instance shall not preclude enforcement
    of it on future occasions. Headings are for reference purposes only and
    have no substantive effect.
Continue ?  [No]: yes
=========================================================
Dbvisit Standby setup begins.
=========================================================
The following Oracle instance(s) have been found on this server:
     SID            ORACLE_HOME
     ===            ===========
1)   DBTEST         /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1
2)   ORCL        /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_2
3)   ZPDP          /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1
4)   BETA        /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1
5)   Enter own ORACLE_SID and ORACLE_HOME
Please enter choice [] : 2
Is this correct?  [Yes]:
=>ORACLE_SID will be: ORCL
=>ORACLE_HOME will be: /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_2
------------------------------------------------------------------------------
Enter the primary server name.
Note: The hostname is case sensitive on UNIX based systems.
=>SOURCE is [oda-prod-01]:
Your input: oda-prod-01
Is this correct?  [Yes]:
Choice is oda-prod-01
------------------------------------------------------------------------------
Please enter a filesystem directory that Dbvisit Standby use to store (archive)
log files.  This directory is not the same as the database recovery area or
archive destinations and should not be located in these areas.
The ARCHSOURCE directory is located on the primary server and will become the
ARCHDEST location when the primary database is converted to a standby database
during a Graceful Switchover operation.
This directory will ONLY contain (archive) log files related to this database.
It should not contain any other (non archive log) files.
Please ensure that this directory exists on
=>ARCHSOURCE is [/u01/app/oracle/dbvisit_arch/ORCL]: /u90/dbvisit/arch
Your input: /u90/dbvisit/arch
Is this correct?  [Yes]:
Choice is /u90/dbvisit/arch
------------------------------------------------------------------------------
Do you want to use SSH to connect to the standby server?  Note that if you are
using SSH, passwordless SSH authentication between the hosts must already be
configured.  By default Dbvnet will be used.
=>USE_SSH is [N]:
Your input: N
Is this correct?  [Yes]:
Choice is N
------------------------------------------------------------------------------
Specify the DBVNET or SSH port number on the primary server. The default value
supplied is the dbvnet port 7890.  If you specified the use of SSH, please
specify the SSH port here.
=>NETPORT is [7890]:
Your input: 7890
Is this correct?  [Yes]:
Choice is 7890
------------------------------------------------------------------------------
Enter the standby database hostname.
If the standby database will be Oracle RAC enabled:
Enter the the Virtual Hostname (linked to a Virtual IP) for standby database.
This virtual hostname is attached to a VIP that will be able to move between
the RAC nodes. Dbvisit Standby will only run on the server where this virtual
hostname (VIP) resource is running.
The Virtual Hostname (and VIP) should be configured as a resouce in clusterware
and must be enabled and started on one of the nodes before yo continue with the
setup.  If you are not using a Virtual Hostname (Highly Recommended), Dbvisit
Standby can only be configured to run on one dedicated node in the RAC
configuration - specify the hosts name here if you do not have a Virtual
Hostname (attached to VIP) for the cluster configured.
For non-RAC configurations specify the standby database server name here.
=>DESTINATION is []: oda-dev-01
Your input: oda-dev-01
Is this correct?  [Yes]:
Choice is oda-dev-01
------------------------------------------------------------------------------
Specify the DBVNET or SSH port number on the standby server. The default value
supplied is the dbvnet port 7890.  If you specified the use of SSH, please
specify the SSH port here.
=>NETPORT_DR is [7890]:
Your input: 7890
Is this correct?  [Yes]:
Choice is 7890
------------------------------------------------------------------------------
Enter Dbvisit Standby installation directory on the standby server
=>DBVISIT_BASE_DR is [/u01/app/dbvisit]:
Your input: /u01/app/dbvisit
Is this correct?  [Yes]:
Choice is /u01/app/dbvisit
------------------------------------------------------------------------------
Enter ORACLE_HOME directory on the standby server
=>ORACLE_HOME_DR is [/u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_2]:
Your input: /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_2
Is this correct?  [Yes]:
Choice is /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_2
------------------------------------------------------------------------------
Enter DB_UNIQUE_NAME on the standby server
=>DB_UNIQUE_NAME_DR is [ORCL]:
Your input: ORCL
Is this correct?  [Yes]:
Choice is ORCL
------------------------------------------------------------------------------
Please enter the directory where Dbvisit Standby will transfer the (archive)
log files to on standby server.   This directory is not the same as the
database recovery area or archive destinations and should not be located in
these areas.
This directory should ONLY contain (archive) log files related to this
database. It should not contain any other (non archive log) files.
Please ensure that this directory exists on the standby server
=>ARCHDEST is [/u90/dbvisit/arch]:
Your input: /u90/dbvisit/arch
Is this correct?  [Yes]:
Choice is /u90/dbvisit/arch
------------------------------------------------------------------------------
Enter ORACLE_SID on the standby server
=>ORACLE_SID_DR is [ORCL]:
Your input: ORCL
Is this correct?  [Yes]:
Choice is ORCL
------------------------------------------------------------------------------
Enter ASM instance name on the standby server, if your standby is using ASM.
If you are not using ASM on the standby or standby is ACFS leave the value
null.
=>ORACLE_SID_ASM_DR is []: +ASM1
Your input: +ASM1
Is this correct?  [Yes]:
Choice is +ASM1
------------------------------------------------------------------------------
Please specify the name of the Dbvisit Database configuration (DDC) file.
The DDC file is a plain text file that contains all the Dbvisit Standby
settings.
=>ENV_FILE is [ORCL]:
Your input: ORCL
Is this correct?  [Yes]:
Choice is ORCL
------------------------------------------------------------------------------
Provide license key.
=>LICENSE_KEY is []: 4jo70-qwp4l-7gplh-g1cfr-1iclj-1aajm-ujfmk
Your input: 4jo70-qwp4l-7gplh-g1cfr-1iclj-1aajm-ujfmk
Is this correct?  [Yes]:
Choice is 4jo70-qwp4l-7gplh-g1cfr-1iclj-1aajm-ujfmk
------------------------------------------------------------------------------
Below are the list of configuration variables provided during the setup
process:
Configuration Variable             Value Provided
======================             ==============
ORACLE_SID                         ORCL
ORACLE_HOME
/u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_2
SOURCE                             oda-prod-01
ARCHSOURCE                         /u90/dbvisit/arch
RAC_DR                             N
USE_SSH                            N
NETPORT                            7890
DESTINATION                        oda-dev-01
NETPORT_DR                         7890
DBVISIT_BASE_DR                    /u01/app/dbvisit
ORACLE_HOME_DR
/u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_2
DB_UNIQUE_NAME_DR                  ORCL
ARCHDEST                           /u90/dbvisit/arch
ORACLE_SID_DR                      ORCL
ORACLE_SID_ASM_DR                  +ASM1
ENV_FILE                           ORCL
LICENSE_KEY                        4jo70-qwp4l-7gplh-g1cfr-1iclj-1aajm-ujfmk
Are these variables correct?  [Yes]:
>>> Dbvisit Database configuration (DDC) file ORCL created.
>>> Dbvisit Database repository (DDR) ORCL created.
   Repository Version          10.0
   Software Version            10.0
   Repository Status           VALID
PID:25144
TRACE:dbvisit_install.log
[oracle@oda-prod-01 ~]$

The configuration file dbv_ORCL.env is created in this location /u01/app/dbvisit/standby/conf/

On the standby server we create an ORCL database with the same characteristics that the source one. The datafiles of the new datafile will be deleted after. Doing so will already register he standby on the cluster stack. But if needed you can register the standby database

1
2
oracle@oda-dev-01:/home/oracle/ [ORCL] srvctl add database -db ORCL -instance ORCL -oraclehome /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_2 -spfile +DATA/ORCL/PARAMETERFILE/spfile.302.1086346459 -role physical_standby -pwfile +DATA/ORCL/PASSWORD/orapwORCL -diskgroup DATA,RECO -acfspath /u01/app/odaorahome,/u01/app/odaorabase0 -dbtype SINGLE  -startoption MOUNT -node oda-dev-01
oracle@oda-dev-01:/home/oracle/ [ORCL]

To create the standby, we use the RMAN duplicate command. Note that we can also let dbvisit do the duplicate. But we decide to do it manually, it’s just a classic duplicate for standby

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
RMAN> connect target sys/****@ORCL_prod
connected to target database: ORCL (DBID=771938447)
RMAN>  connect auxiliary  sys/****@ORCL_dev
connected to auxiliary database: ORCL (not mounted)
RMAN> duplicate target database for standby from active database nofilenamecheck ;
Starting Duplicate Db at 19-OCT-2021 13:10:28
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=22 device type=DISK
executing command: SET NEWNAME
datafile 5 switched to datafile copy
Finished Duplicate Db at 19-OCT-2021 13:11:41
RMAN>

After the duplicate we can now use Dbvisit to send archived logs to the standby server

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
[oracle@oda-prod-01 ~]$ /u01/app/dbvisit/standby/dbvctl -d ORCL -i
=============================================================
Dbvisit Standby Database Technology (10.1.0_0_gba3a9e08) (pid 11624)
dbvctl started on oda-prod-01: Tue Oct 19 13:41:06 2021
=============================================================
Dbvisit Standby log gap report for ORCL at 202110191341:
-------------------------------------------------------------
Description       | SCN          | Timestamp
-------------------------------------------------------------
Source              3645499        2021-10-19:13:41:08 +02:00
Destination         3644317        2021-10-19:13:10:43 +02:00
Standby database time lag (DAYS-HH:MI:SS): +00:30:25
Report for Thread 1
-------------------
SOURCE
Current Sequence 29
Last Archived Sequence 28
Last Transferred Sequence
Last Transferred Timestamp
DESTINATION
Next Required Recovery Sequence 28
Transfer Log Gap 28
Apply Log Gap 1
=============================================================
dbvctl ended on oda-prod-01: Tue Oct 19 13:41:13 2021
=============================================================
[oracle@oda-prod-01 ~]$ /u01/app/dbvisit/standby/dbvctl -d ORCL
=============================================================
Dbvisit Standby Database Technology (10.1.0_0_gba3a9e08) (pid 14077)
dbvctl started on oda-prod-01: Tue Oct 19 13:41:23 2021
=============================================================
>>> Obtaining information from standby database (RUN_INSPECT=Y)... done
    Thread: 1 Archive log gap: 1. Transfer log gap: 28
>>> Sending heartbeat message... skipped
>>> First time Dbvisit Standby runs, Dbvisit Standby configuration will be copied to
    oda-dev-01...
>>> Transferring Log file(s) from ORCL on oda-prod-01 to oda-dev-01:
    thread 1 sequence 28 (thread_1_seq_28.275.1086354699)... done
=============================================================
dbvctl ended on oda-prod-01: Tue Oct 19 13:41:38 2021
=============================================================
[oracle@oda-prod-01 ~]$

And from the standby server we can apply the archived logs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
oracle@oda-dev-01:/home/oracle/ [ORCL]  /u01/app/dbvisit/standby/dbvctl -d ORCL
=============================================================
Dbvisit Standby Database Technology (10.1.0_0_gba3a9e08) (pid 58776)
dbvctl started on oda-dev-01: Tue Oct 19 13:42:30 2021
=============================================================
>>> Sending heartbeat message... skipped
>>> Applying Log file(s) from oda-prod-01 to ORCL on oda-dev-01:
    thread 1 sequence 28 (1_28_1085054739.arc)... done
    Last applied log(s):
    thread 1 sequence 28
    Next SCN required for recovery 3644384 generated at 2021-10-19:13:11:39 +02:00.
    Next required log thread 1 sequence 29
=============================================================
dbvctl ended on oda-dev-01: Tue Oct 19 13:42:36 2021
=============================================================
oracle@oda-dev-01:/home/oracle/ [ORCL]

We can validate the synchronization using following command

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
[oracle@oda-prod-01 ~]$ /u01/app/dbvisit/standby/dbvctl -d ORCL -i
=============================================================
Dbvisit Standby Database Technology (10.1.0_0_gba3a9e08) (pid 16462)
dbvctl started on oda-prod-01: Tue Oct 19 13:42:44 2021
=============================================================
Dbvisit Standby log gap report for ORCL at 202110191342:
-------------------------------------------------------------
Description       | SCN          | Timestamp
-------------------------------------------------------------
Source              3645637        2021-10-19:13:42:47 +02:00
Destination         3644384        2021-10-19:13:11:39 +02:00
Standby database time lag (DAYS-HH:MI:SS): +00:31:08
Report for Thread 1
-------------------
SOURCE
Current Sequence 29
Last Archived Sequence 28
Last Transferred Sequence 28
Last Transferred Timestamp 2021-10-19 13:41:38
DESTINATION
Next Required Recovery Sequence 29
Transfer Log Gap 0
Apply Log Gap 0
=============================================================
dbvctl ended on oda-prod-01: Tue Oct 19 13:42:51 2021
=============================================================
[oracle@oda-prod-01 ~]$

For the synchronization we can for example do the following schedule via crontab
From the primary send every 10 minutes archived logs
From the standby apply every 10 minutes archived logs

But Dbvisit comes with daemons which will automatically send and apply archived logs. We just have to start these daemons on both servers.

The DAEMON is started with this command

1
[oracle@oda-prod-01 system]# /u01/app/dbvisit/standby/dbvctl -d ORCL -D start

Using dbvserver console

Once logged in the console, follow these steps to add the configuration on the console
Go to MANAGE HOSTS

Click on CREATE NEW HOST and select your hosts

Go to MANAGE CONFIGURATIONS

Click on IMPORT select your source host

At the end at the process you should have a MENU Page like this.

Conclusion

As we can see the setup is the same than in a non-ODA environment. Instead of creating a full database on the standby side, you can just create an instance only. But as we can see you can create a complete database and then delete the datafiles. Just also for all the daemons
dbvnet, dbvagent, dbvserver, dbvctl you will propably create startup scripts om SYSTEMD if you are using Linux 7