{"id":22342,"date":"2023-02-08T17:55:14","date_gmt":"2023-02-08T16:55:14","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=22342"},"modified":"2023-02-17T13:12:07","modified_gmt":"2023-02-17T12:12:07","slug":"combine-oracle-seha-on-oda-with-dbvisit-standbymp","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/combine-oracle-seha-on-oda-with-dbvisit-standbymp\/","title":{"rendered":"Combine Oracle SEHA on ODA with Dbvisit StandbyMP?"},"content":{"rendered":"\n<p>I recently blog on Oracle SEHA on ODA, see my article <a href=\"https:\/\/www.dbi-services.com\/blog\/seha-on-oda\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.dbi-services.com\/blog\/seha-on-oda\/<\/a>. Oracle SEHA is used for High Availability for Standard Edition. Dbvisit Standby is a Disaster Recovery well known application designed for Oracle Standard Edition. Dbvisit guarantees database continuity, and will reduce RTO and RPO. With Dbvisit we will limit business impact in case of failure like hardware, operating system or human failure by activating a standby database. With Dbvisit we can also reduce the downtime linked to maintenance on the system. But what about combining both Oracle SEHA and Dbvisit?<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">Test environment<\/h2>\n\n\n\n<p>For my test I&#8217;m using :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>an ODA X5-2-HA with 2 nodes dbioda02 and dbioda03<\/li>\n\n\n\n<li>an ODA X8-2M with node named dbi-oda-x8<\/li>\n<\/ul>\n\n\n\n<p>The privileged nodes for primary would be the ODA X5-2-HA so we can take advantage of Oracle SEHA. The test would be then to simulate a configuration where the primary database is usually running on a 2 nodes cluster and the standby database running on a single node. We accept to be in a lighter configuration on standby side knowing this one is less sought, and the standby node will less be activated as primary. We have some customer using such configuration with EE having a Data Guard configuration with a primary on RAC and a standby with single instance. Of course recall that Oracle SEHA is not as RAC. With Oracle SEHA we will only have one instance connected to the database at the same time compared to RAC on Enterprise Edition where you can have multiple instances.  <\/p>\n\n\n\n<p>I&#8217;m going to install Dbvcontrol on dbi-oda-x8 node.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Primary database<\/h2>\n\n\n\n<p>I have my primary database already created on the ODA X5-2-HA.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">[root@dbioda02 ~]# odacli describe-database -i bed8b9fb-214a-423e-b0e8-d8c084b45dd1\nDatabase details\n----------------------------------------------------------------\n                     ID: bed8b9fb-214a-423e-b0e8-d8c084b45dd1\n            Description: DBISEHA\n                DB Name: DBISEHA\n             DB Version: 19.15.0.0.220419\n                DB Type: SI\n                DB Role: PRIMARY\n    DB Target Node Name: dbioda03\n             DB Edition: SE\n                   DBID: 1535732728\n Instance Only Database: false\n                    CDB: false\n               PDB Name:\n    PDB Admin User Name:\n      High Availability: true\n                  Class: OLTP\n                  Shape: odb1\n                Storage: ASM\n          DB Redundancy:\n           CharacterSet: AL32UTF8\n  National CharacterSet: AL16UTF16\n               Language: AMERICAN\n              Territory: AMERICA\n                Home ID: 5b0b3769-0c05-435e-b7c8-5d295c05934c\n        Console Enabled: false\n  TDE Wallet Management:\n            TDE Enabled: false\n     Level 0 Backup Day: Sunday\n     AutoBackup Enabled: false\n                Created: January 27, 2023 9:41:13 AM CET\n         DB Domain Name: dbi-lab.ch\n    Associated Networks: Public-network\n          CPU Pool Name:\n<\/pre>\n<br>\n\n\n\n<h2 class=\"wp-block-heading\">Dbvisit StandbyMP current limitation with Oracle SEHA<\/h2>\n\n\n\n<p>It is important to understand that today last version of Dbvisit standbyMP (11.2.1) can only support Oracle SEHA if all database instances are running on the same nodes of the local cluster. That is to say that Dbvisit doesn&#8217;t support configuration where it needs to handle in mean time instances on both nodes. This is due to the fact that Dbvisit StandbyMP can be active only on one of the SEHA cluster nodes, not on both. This is quite annoying because you can not take all resources possibilities, but I&#8217;m sure that this limitation will be solved in a near future. Let&#8217;s keep an eye on it. This is due to the fact that Dbvisit will be using a VIP that will be started on one of the cluster node which will have all instances running. Of course, this doesn&#8217;t concern the databases that are not part of Dbvisit configuration. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dbvisit StandbyMP prerequisites<\/h2>\n\n\n\n<p>To use Dbvisit StandbyMP with Oracle SEHA, there is a few prerequisites that are needed.<\/p>\n\n\n\n<h3>Additional VIP<\/h3>\n\n\n\n<p>Additional VIP is needed. This VIP should be different from existing cluster VIP addresses<\/p>\n\n\n\n<p>I&#8217;m going to create a new VIP named dbvisitvippri with IP address 10.36.0.246 using root user on the node 0, dbioda02, from my primary cluster.<\/p>\n\n\n\n<p>First I&#8217;m going to set the environment for root user:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4]\">\n[root@dbioda02 ~]# id\nuid=0(root) gid=0(root) groups=0(root)\n\n[root@dbioda02 ~]# . oraenv\nORACLE_SID = [root] ? +ASM1\nORACLE_HOME = [\/home\/oracle] ? \/u01\/app\/19.15.0.0\/grid\nThe Oracle base has been changed from \/home\/oracle to \/u01\/app\/grid\n<\/pre>\n<br>\n\n\n\n<p>Then I&#8217;m going to check existing network:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">[root@dbioda02 ~]# srvctl config network\nNetwork 1 exists\nSubnet IPv4: 10.36.0.0\/255.255.255.0\/pubnet, static\nSubnet IPv6:\nPing Targets:\nNetwork is enabled\nNetwork is individually enabled on nodes:\nNetwork is individually disabled on nodes:\n<\/pre>\n<br>\n\n\n\n<p>Thus I&#8217;m going to create the application VIP on network 1:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">[root@dbioda02 ~]# appvipcfg create -network=1 -ip=10.36.0.246 -vipname=dbvisitvippri -user=root\nUsing configuration parameter file: \/u01\/app\/19.15.0.0\/grid\/crs\/install\/crsconfig_params\nThe log of current session can be found at:\n  \/u01\/app\/grid\/crsdata\/dbioda02\/scripts\/appvipcfg.log\n<\/pre>\n<br>\n\n\n\n<p>And give the appropriate permission for oracle and grid user. I&#8217;m using role separation on my SEHA ODA cluster, thus needs to give permissions to both oracle and grid user.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,2]\">[root@dbioda02 ~]# crsctl setperm resource dbvisitvippri -u user:oracle:r-x\n[root@dbioda02 ~]# crsctl setperm resource dbvisitvippri -u user:grid:r-x\n<\/pre>\n<br>\n\n\n\n<p>I&#8217;m checking and can see that the VIP is for the moment not started on my node:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">[root@dbioda02 ~]# ip addr sh | grep 10.36.0.246\n[root@dbioda02 ~]#\n<\/pre>\n<br>\n\n\n\n<p>Let&#8217;s start it on the node 0 from my ODA X5-2-HA:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">[root@dbioda02 ~]# crsctl start resource dbvisitvippri -n dbioda02\nCRS-2672: Attempting to start 'dbvisitvippri' on 'dbioda02'\nCRS-2676: Start of 'dbvisitvippri' on 'dbioda02' succeeded\n<\/pre>\n<br>\n\n\n\n<p>And we can check that the IP is now attached to my node.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4,13]\">[root@dbioda02 ~]# ip addr sh | grep 10.36.0.246\n    inet 10.36.0.246\/24 brd 10.36.0.255 scope global secondary pubnet:2\n    \n[root@dbioda02 ~]# ip addr sh pubnet\n14: pubnet:  mtu 1500 qdisc noqueue state UP group default qlen 1000\n    link\/ether 00:10:e0:94:c2:ac brd ff:ff:ff:ff:ff:ff\n    inet 10.36.0.232\/24 brd 10.36.0.255 scope global pubnet\n       valid_lft forever preferred_lft forever\n    inet 10.36.0.239\/24 brd 10.36.0.255 scope global secondary pubnet:1\n       valid_lft forever preferred_lft forever\n    inet 10.36.0.236\/24 brd 10.36.0.255 scope global secondary pubnet:3\n       valid_lft forever preferred_lft forever\n    inet 10.36.0.246\/24 brd 10.36.0.255 scope global secondary pubnet:2\n       valid_lft forever preferred_lft forever\n[root@dbioda02 ~]#\n<\/pre>\n<br>\n\n\n\n<p>Let&#8217;s try to log on using the VIP:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">maw@DBI-LT-MAW2 ~ % ssh oracle@10.36.0.246\nThe authenticity of host '10.36.0.246 (10.36.0.246)' can't be established.\nECDSA key fingerprint is SHA256:eJyu\/pxpVmMVRScZBVX5uvvnsN2ARhDdRAK3aLRKln4.\nAre you sure you want to continue connecting (yes\/no\/[fingerprint])? yes\nWarning: Permanently added '10.36.0.246' (ECDSA) to the list of known hosts.\noracle@10.36.0.246's password:\nLast failed login: Wed Feb  8 11:31:39 CET 2023 from gateway on ssh:notty\nThere was 1 failed login attempt since the last successful login.\nLast login: Wed Feb  8 11:29:09 2023\n\n\n      Welcome on dbioda02, please select the environment:\n\n              *** Environments menu ***\n         - ODA environment - default -\n         - DMK environment - start command: dbi -\n\n\n[oracle@dbioda02 ~]$\n<\/pre>\n<br>\n\n\n\n<p>Let&#8217;s try to relocate the VIP on node 1 and check that the new VIP IP is effectively started on node 1:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4,7,13,16]\">[root@dbioda02 ~]# ip addr sh | grep 10.36.0.246\n    inet 10.36.0.246\/24 brd 10.36.0.255 scope global secondary pubnet:2\n\n[root@dbioda03 ~]$ ip addr sh | grep 10.36.0.246\n[root@dbioda03 ~]$\n\n[root@dbioda02 ~]# crsctl relocate resource dbvisitvippri -f\nCRS-2673: Attempting to stop 'dbvisitvippri' on 'dbioda02'\nCRS-2677: Stop of 'dbvisitvippri' on 'dbioda02' succeeded\nCRS-2672: Attempting to start 'dbvisitvippri' on 'dbioda03'\nCRS-2676: Start of 'dbvisitvippri' on 'dbioda03' succeeded\n\n[root@dbioda02 ~]# ip addr sh | grep 10.36.0.246\n[root@dbioda02 ~]#\n\n[root@dbioda03 ~]$ ip addr sh | grep 10.36.0.246\n    inet 10.36.0.246\/24 brd 10.36.0.255 scope global secondary pubnet:3\n<\/pre>\n<br>\n\n\n\n<p>Let&#8217;s relocate it after the test on node 0 from the cluster:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">[root@dbioda02 ~]# crsctl relocate resource dbvisitvippri -f\nCRS-2673: Attempting to stop 'dbvisitvippri' on 'dbioda03'\nCRS-2677: Stop of 'dbvisitvippri' on 'dbioda03' succeeded\nCRS-2672: Attempting to start 'dbvisitvippri' on 'dbioda02'\nCRS-2676: Start of 'dbvisitvippri' on 'dbioda02' succeeded\n<\/pre>\n<br>\n\n\n\n<h3>Shared file system for dbvisit software<\/h3>\n\n\n\n<p>I&#8217;m going to create an ACFS File System for dbvisit software that will be mounted as \/u01\/app\/dbvisit for oracle user. This ACFS file system is of course accessible from my both cluster nodes.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,3,10,12,26,33,35,37,39,41]\">[grid@dbioda02 ~]$ asmcmd\n\nASMCMD&gt; lsdg\nState    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB   Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name\nMOUNTED  NORMAL  N         512             512   4096  4194304  96018432  94185196          6001152        44092022              0             Y  DATA\/\nMOUNTED  NORMAL  N         512             512   4096  4194304   1525760   1520096           381440          569328              0             N  FLASH\/\nMOUNTED  NORMAL  N         512             512   4096  4194304  23998464  23904256          1499904        11202176              0             N  RECO\/\nMOUNTED  HIGH    N         512             512   4096  4194304    762880    740428           190720          183236              0             N  REDO\/\n\nASMCMD&gt; volcreate -G RECO -s 100G DBVISIT\n\nASMCMD&gt; volinfo -G RECO -a\nDiskgroup Name: RECO\n\n\t Volume Name: DBVISIT\n\t Volume Device: \/dev\/asm\/dbvisit-269\n\t State: ENABLED\n\t Size (MB): 102400\n\t Resize Unit (MB): 64\n\t Redundancy: MIRROR\n\t Stripe Columns: 8\n\t Stripe Width (K): 1024\n\t Usage:\n\t Mountpath:\n\n[root@dbioda02 ~]# mkfs.acfs \/dev\/asm\/dbvisit-269\nmkfs.acfs: version                   = 19.0.0.0.0\nmkfs.acfs: on-disk version           = 46.0\nmkfs.acfs: volume                    = \/dev\/asm\/dbvisit-269\nmkfs.acfs: volume size               = 107374182400  ( 100.00 GB )\nmkfs.acfs: Format complete.\n\n[root@dbioda02 ~]# mkdir -p \/u01\/app\/dbvisit\n\n[root@dbioda02 ~]# cd \/u01\/app\/19.15.0.0\/grid\/bin\/\n\n[root@dbioda02 bin]# .\/srvctl add filesystem -volume DBVISIT -diskgroup RECO -path \/u01\/app\/dbvisit -fstype ACFS -autostart ALWAYS -mountowner oracle\n\n[root@dbioda02 bin]# .\/srvctl start filesystem -device \/dev\/asm\/dbvisit-269\n\n[root@dbioda02 bin]# df -h \/u01\/app\/dbvisit\nFilesystem            Size  Used Avail Use% Mounted on\n\/dev\/asm\/dbvisit-269  100G  816M  100G   1% \/u01\/app\/dbvisit\n<\/pre>\n<br>\n\n\n\n<h3>Verify that Oracle SEHA is activated for the primary database<\/h3>\n\n\n\n<p>Of course Oracle SEHA needs to be activated on the primary database.<\/p>\n\n\n\n<p>This can be confirmed with odacli:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">[root@dbioda02 bin]# odacli describe-database -i bed8b9fb-214a-423e-b0e8-d8c084b45dd1 | grep -i Availability\n      High Availability: true\n<\/pre>\n<br>\n\n\n\n<p>And with srvctl as well:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">oracle@dbioda02:\/home\/oracle\/ [DBISEHA] srvctl config database -d DBISEHA | grep -i nodes\nConfigured nodes: dbioda03,dbioda02\n<\/pre>\n<br>\n\n\n\n<h3>oratab configuration<\/h3>\n\n\n\n<p>Dbvisit needs +ASM entries in respective \/etc\/oratab file from all nodes. On ODA those entries are never added. I do not really like updating this file on an ODA, but without this entry the Dbvisit configuration can not be created for my ASM database and is failing. So I have added respective entries for both primary nodes and standby nodes:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4,7]\">\n[oracle@dbioda02 ~]$ grep -i +asm \/etc\/oratab\n+ASM1:\/u01\/app\/19.15.0.0\/grid:N\n\n[oracle@dbioda03 ~]$ grep -i +asm \/etc\/oratab\n+ASM2:\/u01\/app\/19.15.0.0\/grid:N\n\n[oracle@dbi-oda-x8 ~]$ grep -i +asm \/etc\/oratab\n+ASM1:\/u01\/app\/19.17.0.0\/grid:N\n<\/pre>\n<br>\n\n\n\n<h3>\/etc\/hosts<\/h3>\n\n\n\n<p>Knowing that my new VIP is not configured on the DNS, I have added it to the 3 nodes dbioda02, dbioda03, and dbi-oda-x8 (2 nodes for primary and one node for standby) \/etc\/hosts file:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">[root@dbioda02 bin]# grep dbvisitvippri \/etc\/hosts\n10.36.0.246 dbvisitvippri\n<\/pre>\n<br>\n\n\n\n<p>And have added standby node to the \/etc\/hosts file from both primary nodes dbioda02 and dbioda03:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">[root@dbioda02 bin]# grep dbi-oda-x8 \/etc\/hosts\n10.36.0.241 dbi-oda-x8\n<\/pre>\n<br>\n\n\n\n<h2 class=\"wp-block-heading\">Installing Dbvisit software on primary<\/h2>\n\n\n\n<p>I downloaded last package version dbvisit-standbymp11.2.1-linux.zip which I extracted on dbioda02 in the folder \/home\/oracle\/software.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,3]\">[oracle@dbioda02 software]$ unzip -q dbvisit-standbymp11.2.1-linux.zip\n\n[oracle@dbioda02 software]$ tar -xf Dbvisit\\ StandbyMP\\ v11.2.1\\ -\\ Linux.tar.gz\n<\/pre>\n<br>\n\n\n\n<p>I then installed Dbvisit software from dbioda02 running install-agent-v11.2.1 and providing following parameter:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The ACFS file system \/u01\/app\/dbvisit as DBVISIT_BASE<\/li>\n\n\n\n<li>Agent file transfer port to be 7890<\/li>\n\n\n\n<li>The primary VIP dbvisitvippri for the host name<\/li>\n\n\n\n<li>The standby node dbi-oda-x8 for the host hosting the Control Center<\/li>\n\n\n\n<li>The Agent Communications Port to be 5533<\/li>\n\n\n\n<li>A passphrase<\/li>\n<\/ul>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,13,14,26,27,28,29,34,35,42]\">\n[oracle@dbioda02 software]$ .\/install-agent-v11.2.1\n+----------------------------------------------------------------------+\n|          ____  _                  _ _           __  __ ____          |\n|         \/ ___|| |_ __ _ _ __   __| | |__  _   _|  \\\/  |  _ \\         |\n|         \\___ \\| __\/ _' | '_ \\ \/ _' | '_ \\| | | | |\\\/| | |_) |        |\n|          ___) | || (_| | | | | (_| | |_) | |_| | |  | |  __\/         |\n|         |____\/ \\__\\__,_|_| |_|\\__,_|_.__\/ \\__, |_|  |_|_|            |\n|          Copyright 2022                   |___\/   By Dbvisit         |\n+----------------------------------------------------------------------+\n\nWelcome to Dbvisit StandbyMP setup version v11.2.1.\n\n? Please carefully read the end-user license agreement at https:\/\/dbvisit.com\/eula. Do you agree to the terms of this agreement? Yes\n? Which directory should the software be installed into? \/u01\/app\/dbvisit\n\n- - - You are now configuring the Dbvisit StandbyMP Agent - - -\n\nThe Agent will listen on the following discovered addresses:\n -  127.0.0.1\n -  192.168.16.24\n -  192.168.122.1\n -  10.36.0.232\n -  10.36.0.239\n -  10.36.0.236\n -  10.36.0.246\n? Agent File Transfer Port: 7890\n? Fully Qualified Domain Name for this host: dbvisitvippri\n? Fully Qualified Domain Name for the Control Center: dbi-oda-x8\n? Agent Communications Port: 5533\nEach Dbvisit StandbyMP Agent and the Dbvisit StandbyMP Control Center must\nbe configured with the same passphrase. This is how we know that they are all\nintended to be part of the same system. Please specify a strong passphrase - we\nsuggest at least 12 characters, containing at least 2 numbers and 2 symbols.\n? Passphrase: ***********\n? Confirm Passphrase: ***********\n\n- - - Dbvisit StandbyMP Agent configuration finished - - -\n\n\n- - - Ready to perform installation - - -\n\n? Do you wish to proceed with the setup using the supplied configuration options? Proceed with setup\n\n- - - Performing installation - - -\n\nCopying software files to '\/u01\/app\/dbvisit'...\nWriting Agent configuration file '\/u01\/app\/dbvisit\/standbymp\/conf\/dbvagentmanager.ini'...\n\n- - - Installation successful! - - -\n\n\nTo enable the installed Dbvisit StandbyMP components to run as system services, you will need to execute some commands as the \"root\" user in order to complete the setup.\n\nTo install the system service(s), you can run, substituting the name of the user to run as if it is different from the current user:\n\tsudo \/u01\/app\/dbvisit\/standbymp\/bin\/dbvagentmanager service install --user oracle\nTo start the system service(s), you can run:\n\tsudo \/u01\/app\/dbvisit\/standbymp\/bin\/dbvagentmanager service start\n\n- - - Configuration Summary - - -\n\nInstall Directory:                                  \/u01\/app\/dbvisit\nFully Qualified Domain Name for this host:          dbvisitvippri\nFully Qualified Domain Name for the Control Center: dbi-oda-x8\nAgent Communications Port:                          5533\nAgent File Transfer Port:                           7890\n\n- - - Installation Summary - - -\n\nThe following actions have been performed:\n -  Installed Dbvisit StandbyMP Agent software into: \/u01\/app\/dbvisit\/standbymp\n -  Agent settings are available in the configuration file: \/u01\/app\/dbvisit\/standbymp\/conf\/dbvagentmanager.ini\n -  Generated new security certificates in: \/u01\/app\/dbvisit\/standbymp\/certificates\n\n- - - INSTALLATION SUCCESSFUL - - -\n\n[oracle@dbioda02 software]$\n<\/pre>\n<br>\n\n\n\n<h2 class=\"wp-block-heading\">dbvagentmanager relocate script<\/h2>\n\n\n\n<p>We will setup a script so the dbvagentmanager process gets automatically started on the appropriate nodes when the VIP got relocated. Of course, in our configuration, we only need to implement that script on the primary side knowing only the primary database will have High Availability. We will get this script named dbvcrs.sh from dbvisit website : <a href=\"https:\/\/dbvisit.atlassian.net\/wiki\/spaces\/DSMP\/pages\/3500081153\/Oracle+SEHA+and+RAC\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/dbvisit.atlassian.net\/wiki\/spaces\/DSMP\/pages\/3500081153\/Oracle+SEHA+and+RAC<\/a><\/p>\n\n\n\n<p>I copied the script in the binary directory of Dbvisit StandbyMP: <\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">maw@DBI-LT-MAW2 Downloads % scp dbvcrs.sh oracle@10.36.0.246:\/u01\/app\/dbvisit\/standbymp\/bin\/\noracle@10.36.0.246's password:\ndbvcrs.sh                                                                                                                                                                                                                   100% 1882    28.4KB\/s   00:00\n<\/pre>\n<br>\n\n\n\n<p>I gave appropriate permissions to the script:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">[oracle@dbioda02 bin]$ chmod +x dbvcrs.sh                                                                                                                                                                                                                100% 1882    28.4KB\/s   00:00\n<\/pre>\n<br>\n\n\n\n<p>I tested the script. The script should provide following outputs:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4,8,11,14,16,19,22,26,29,31,34]\">[oracle@dbioda02 bin]$ ps -ef | grep [d]bv\n[oracle@dbioda02 bin]$ \n\n[oracle@dbioda02 bin]$ .\/dbvcrs.sh start dbvagentmanager\nStarting Dbvisit dbvagentmanager\nSubmitted check for dbvagentmanager with result running correctly, return 0\n\n[oracle@dbioda02 bin]$ ps -ef | grep [d]bv\noracle   21816     1  0 13:55 pts\/0    00:00:00 \/u01\/app\/dbvisit\/standbymp\/bin\/dbvagentmanager service run\n\n[oracle@dbioda02 bin]$ .\/dbvcrs.sh check dbvagentmanager\nSubmitted check for dbvagentmanager with result running correctly, return 0\n\n[oracle@dbioda02 bin]$ .\/dbvcrs.sh stop dbvagentmanager\n\n[oracle@dbioda02 bin]$ ps -ef | grep [d]bv\n[oracle@dbioda02 bin]$ \n\n[oracle@dbioda02 bin]$ .\/dbvcrs.sh check dbvagentmanager\nSubmitted check for dbvagentmanager with result not running correctly, return 1\n\n[oracle@dbioda02 bin]$ .\/dbvcrs.sh start dbvagentmanager\nStarting Dbvisit dbvagentmanager\nSubmitted check for dbvagentmanager with result running correctly, return 0\n\n[oracle@dbioda02 bin]$ ps -ef | grep [d]bv\noracle   22990     1  1 13:55 pts\/0    00:00:00 \/u01\/app\/dbvisit\/standbymp\/bin\/dbvagentmanager service run\n\n[oracle@dbioda02 bin]$ .\/dbvcrs.sh clean dbvagentmanager\n\n[oracle@dbioda02 bin]$ ps -ef | grep [d]bv\n[oracle@dbioda02 bin]$ \n\n[oracle@dbioda02 bin]$ .\/dbvcrs.sh check dbvagentmanager\nSubmitted check for dbvagentmanager with result not running correctly, return 1\n<\/pre>\n<br>\n\n\n\n<p>As root I will now create resource for dbvagentmanager:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,6]\">[root@dbioda02 ~]# . oraenv\nORACLE_SID = [+ASM1] ?\nORACLE_HOME = [\/home\/oracle] ? \/u01\/app\/19.15.0.0\/grid\nThe Oracle base remains unchanged with value \/u01\/app\/grid\n\n[root@dbioda02 ~]# crsctl add resource dbvagentmanager -type generic_application -attr \"START_PROGRAM='\/u01\/app\/dbvisit\/standbymp\/bin\/dbvcrs.sh start dbvagentmanager',STOP_PROGRAM='\/u01\/app\/dbvisit\/standbymp\/bin\/dbvcrs.sh stop dbvagentmanager',CHECK_PROGRAMS='\/u01\/app\/dbvisit\/standbymp\/bin\/dbvcrs.sh check dbvagentmanager',CLEAN_PROGRAM='\/u01\/app\/dbvisit\/standbymp\/bin\/dbvcrs.sh clean dbvagentmanager', CHECK_INTERVAL=10,START_DEPENDENCIES='hard(dbvisitvippri) pullup(dbvisitvippri)',STOP_DEPENDENCIES='hard(dbvisitvippri)',ACL='owner:oracle:rwx,pgrp:oinstall:rwx,other::r--',PLACEMENT='favored',HOSTING_MEMBERS='dbioda02 dbioda03'\"\n<\/pre>\n<br>\n\n\n\n<p>With oracle user I&#8217;m now testing if the resource can be started:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,6,7,11]\">[oracle@dbioda02 ~]$ . oraenv\nORACLE_SID = [oracle] ? +ASM1\nORACLE_HOME = [\/home\/oracle] ? \/u01\/app\/19.15.0.0\/grid\nThe Oracle base has been set to \/u01\/app\/grid\n\n[oracle@dbioda02 ~]$ ps -ef | grep [d]bv\n[oracle@dbioda02 ~]$ crsctl start resource dbvagentmanager\nCRS-2672: Attempting to start 'dbvagentmanager' on 'dbioda02'\nCRS-2676: Start of 'dbvagentmanager' on 'dbioda02' succeeded\n\n[oracle@dbioda02 ~]$ ps -ef | grep [d]bv\noracle   97351     1  3 14:43 ?        00:00:00 \/u01\/app\/dbvisit\/standbymp\/bin\/dbvagentmanager service run\n<\/pre>\n<br>\n\n\n\n<p>We will now test that with the relocation of the VIP the dbvagentmanager process is accordingly started on the respective mode:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4,7,17,20]\">[oracle@dbioda02 ~]$ ps -ef | grep [d]bv\noracle   97351     1  0 14:43 ?        00:00:00 \/u01\/app\/dbvisit\/standbymp\/bin\/dbvagentmanager service run\n\n[root@dbioda03 ~]# ps -ef | grep [d]bv\n[root@dbioda03 ~]#\n\n[oracle@dbioda02 ~]$ crsctl relocate resource dbvisitvippri -f\nCRS-2673: Attempting to stop 'dbvagentmanager' on 'dbioda02'\nCRS-2677: Stop of 'dbvagentmanager' on 'dbioda02' succeeded\nCRS-2673: Attempting to stop 'dbvisitvippri' on 'dbioda02'\nCRS-2677: Stop of 'dbvisitvippri' on 'dbioda02' succeeded\nCRS-2672: Attempting to start 'dbvisitvippri' on 'dbioda03'\nCRS-2676: Start of 'dbvisitvippri' on 'dbioda03' succeeded\nCRS-2672: Attempting to start 'dbvagentmanager' on 'dbioda03'\nCRS-2676: Start of 'dbvagentmanager' on 'dbioda03' succeeded\n\n[oracle@dbioda02 ~]$ ps -ef | grep [d]bv\n[oracle@dbioda02 ~]$\n\n[root@dbioda03 ~]# ps -ef | grep [d]bv\noracle   42877     1  0 14:48 ?        00:00:00 \/u01\/app\/dbvisit\/standbymp\/bin\/dbvagentmanager service run\n<\/pre>\n<br>\n\n\n\n<p>As we can see, with the relocation of the VIP, the dbvagentmanager process got automatically started on the respective mode.<\/p>\n\n\n\n<p>I relocated the VIP on the node 0:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">[oracle@dbioda02 ~]$ crsctl relocate resource dbvisitvippri -f\nCRS-2673: Attempting to stop 'dbvagentmanager' on 'dbioda03'\nCRS-2677: Stop of 'dbvagentmanager' on 'dbioda03' succeeded\nCRS-2673: Attempting to stop 'dbvisitvippri' on 'dbioda03'\nCRS-2677: Stop of 'dbvisitvippri' on 'dbioda03' succeeded\nCRS-2672: Attempting to start 'dbvisitvippri' on 'dbioda02'\nCRS-2676: Start of 'dbvisitvippri' on 'dbioda02' succeeded\nCRS-2672: Attempting to start 'dbvagentmanager' on 'dbioda02'\nCRS-2676: Start of 'dbvagentmanager' on 'dbioda02' succeeded\n<\/pre>\n<br>\n\n\n\n<h2 class=\"wp-block-heading\">Installing Dbvisit software on standby<\/h2>\n\n\n\n<p>Here we will run a normal installation, knowing we only have one ODA Node.<\/p>\n\n\n\n<p>Create DBVISIT_BASE directory:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,3]\">\n[root@dbi-oda-x8 ~]# mkdir \/u01\/app\/dbvisit\n\n[root@dbi-oda-x8 ~]# chown oracle:oinstall \/u01\/app\/dbvisit\n<\/pre>\n<br>\n\n\n\n<p>I installed the agent on the standby side <\/p>\n\n\n\n<p>I then installed Dbvisit software from dbioda02 running install-agent-v11.2.1 providing following parameter:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\/u01\/app\/dbvisit as DBVISIT_BASE<\/li>\n\n\n\n<li>Agent file transfer port to be 7890<\/li>\n\n\n\n<li>The node name dbi-oda-x8<\/li>\n\n\n\n<li>The standby node dbi-oda-x8 for the host hosting the Control Center<\/li>\n\n\n\n<li>The Agent Communications Port to be 5533<\/li>\n\n\n\n<li>A passphrase<\/li>\n<\/ul>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,11,12,19,20,21,22,27,28,31]\">\n[oracle@dbi-oda-x8 software]$ .\/install-agent-v11.2.1\n+----------------------------------------------------------------------+\n|          ____  _                  _ _           __  __ ____          |\n|         \/ ___|| |_ __ _ _ __   __| | |__  _   _|  \\\/  |  _ \\         |\n|         \\___ \\| __\/ _' | '_ \\ \/ _' | '_ \\| | | | |\\\/| | |_) |        |\n|          ___) | || (_| | | | | (_| | |_) | |_| | |  | |  __\/         |\n|         |____\/ \\__\\__,_|_| |_|\\__,_|_.__\/ \\__, |_|  |_|_|            |\n|          Copyright 2022                   |___\/   By Dbvisit         |\n+----------------------------------------------------------------------+\nWelcome to Dbvisit StandbyMP setup version v11.2.1.\n? Please carefully read the end-user license agreement at https:\/\/dbvisit.com\/eula. Do you agree to the terms of this agreement? Yes\n? Which directory should the software be installed into? \/u01\/app\/dbvisit\n- - - You are now configuring the Dbvisit StandbyMP Agent - - -\nThe Agent will listen on the following discovered addresses:\n -  127.0.0.1\n -  192.168.16.24\n -  10.36.0.241\n -  192.168.17.2\n? Agent File Transfer Port: 7890\n? Fully Qualified Domain Name for this host: dbi-oda-x8.dbi-lab.ch\n? Fully Qualified Domain Name for the Control Center: dbi-oda-x8.dbi-lab.ch\n? Agent Communications Port: 5533\nEach Dbvisit StandbyMP Agent and the Dbvisit StandbyMP Control Center must\nbe configured with the same passphrase. This is how we know that they are all\nintended to be part of the same system. Please specify a strong passphrase - we\nsuggest at least 12 characters, containing at least 2 numbers and 2 symbols.\n? Passphrase: ***********\n? Confirm Passphrase: ***********\n- - - Dbvisit StandbyMP Agent configuration finished - - -\n- - - Ready to perform installation - - -\n? Do you wish to proceed with the setup using the supplied configuration options? Proceed with setup\n- - - Performing installation - - -\nCopying software files to '\/u01\/app\/dbvisit'...\nWriting Agent configuration file '\/u01\/app\/dbvisit\/standbymp\/conf\/dbvagentmanager.ini'...\n- - - Installation successful! - - -\nTo enable the installed Dbvisit StandbyMP components to run as system services, you will need to execute some commands as the \"root\" user in order to complete the setup.\nTo install the system service(s), you can run, substituting the name of the user to run as if it is different from the current user:\n\tsudo \/u01\/app\/dbvisit\/standbymp\/bin\/dbvagentmanager service install --user oracle\nTo start the system service(s), you can run:\n\tsudo \/u01\/app\/dbvisit\/standbymp\/bin\/dbvagentmanager service start\n- - - Configuration Summary - - -\nInstall Directory:                                  \/u01\/app\/dbvisit\nFully Qualified Domain Name for this host:          dbi-oda-x8.dbi-lab.ch\nFully Qualified Domain Name for the Control Center: dbi-oda-x8.dbi-lab.ch\nAgent Communications Port:                          5533\nAgent File Transfer Port:                           7890\n- - - Installation Summary - - -\nThe following actions have been performed:\n -  Installed Dbvisit StandbyMP Agent software into: \/u01\/app\/dbvisit\/standbymp\n -  Agent settings are available in the configuration file: \/u01\/app\/dbvisit\/standbymp\/conf\/dbvagentmanager.ini\n -  Generated new security certificates in: \/u01\/app\/dbvisit\/standbymp\/certificates\n- - - INSTALLATION SUCCESSFUL - - -\n<\/pre>\n<br>\n\n\n\n<p>Install and start dbvagentmanager service:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,3,9,12,28]\">\n[root@dbi-oda-x8 ~]# \/u01\/app\/dbvisit\/standbymp\/bin\/dbvagentmanager service install --user oracle\n\n[root@dbi-oda-x8 ~]# service dbvagentmanager status\nRedirecting to \/bin\/systemctl status dbvagentmanager.service\n\u25cf dbvagentmanager.service - The Dbvisit StandbyMP Agent provides connectivity to databases on this computer. This Agent is used &amp; managed by the Dbvisit StandbyMP Control Center.\n   Loaded: loaded (\/etc\/systemd\/system\/dbvagentmanager.service; enabled; vendor preset: disabled)\n   Active: inactive (dead)\n\n[root@dbi-oda-x8 ~]# service dbvagentmanager start\nRedirecting to \/bin\/systemctl start dbvagentmanager.service\n\n[root@dbi-oda-x8 ~]# service dbvagentmanager status\nRedirecting to \/bin\/systemctl status dbvagentmanager.service\n\u25cf dbvagentmanager.service - The Dbvisit StandbyMP Agent provides connectivity to databases on this computer. This Agent is used &amp; managed by the Dbvisit StandbyMP Control Center.\n   Loaded: loaded (\/etc\/systemd\/system\/dbvagentmanager.service; enabled; vendor preset: disabled)\n   Active: active (running) since Wed 2023-02-08 15:23:45 CET; 1s ago\n Main PID: 2077 (dbvagentmanager)\n    Tasks: 13\n   Memory: 26.7M\n   CGroup: \/system.slice\/dbvagentmanager.service\n           \u2514\u25002077 \/u01\/app\/dbvisit\/standbymp\/bin\/dbvagentmanager service run\nFeb 08 15:23:45 dbi-oda-x8 systemd[1]: Started The Dbvisit StandbyMP Agent provides connectivity to databases on this computer. This Agent is used &amp; managed by the Dbvisit StandbyMP Control Center..\nFeb 08 15:23:45 dbi-oda-x8 dbvagentmanager[2077]: Changing to directory '\/u01\/app\/dbvisit\/standbymp'\nFeb 08 15:23:45 dbi-oda-x8 dbvagentmanager[2077]: Using log directory '\/u01\/app\/dbvisit\/standbymp\/log'\nFeb 08 15:23:45 dbi-oda-x8 dbvagentmanager[2077]: Setting database directory to '\/u01\/app\/dbvisit\/standbymp\/db'\nFeb 08 15:23:45 dbi-oda-x8 dbvagentmanager[2077]: Starting service *agentmanagersvc.agentManagerService\n\n[root@dbi-oda-x8 ~]# ps -ef | grep [d]bv\noracle    2077     1  0 15:23 ?        00:00:00 \/u01\/app\/dbvisit\/standbymp\/bin\/dbvagentmanager service run\n<\/pre>\n<br>\n\n\n\n<h2 class=\"wp-block-heading\">Install Dbvisit StandbyMP Control Center<\/h2>\n\n\n\n<p>I installed the Dbvisit StandbyMP Control Center on the standby node dbi-oda-x8 providing :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\/u01\/app\/dbvisit as DBVISIT_BASE<\/li>\n\n\n\n<li>Control Center Web Server Port to be 4433<\/li>\n\n\n\n<li>Agen Communications Port to be 5533<\/li>\n\n\n\n<li>A passphrase<\/li>\n<\/ul>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,11,12,19,20,25,26,29]\">\n[oracle@dbi-oda-x8 software]$ .\/install-control-v11.2.1\n+----------------------------------------------------------------------+\n|          ____  _                  _ _           __  __ ____          |\n|         \/ ___|| |_ __ _ _ __   __| | |__  _   _|  \\\/  |  _ \\         |\n|         \\___ \\| __\/ _' | '_ \\ \/ _' | '_ \\| | | | |\\\/| | |_) |        |\n|          ___) | || (_| | | | | (_| | |_) | |_| | |  | |  __\/         |\n|         |____\/ \\__\\__,_|_| |_|\\__,_|_.__\/ \\__, |_|  |_|_|            |\n|          Copyright 2022                   |___\/   By Dbvisit         |\n+----------------------------------------------------------------------+\nWelcome to Dbvisit StandbyMP setup version v11.2.1.\n? Please carefully read the end-user license agreement at https:\/\/dbvisit.com\/eula. Do you agree to the terms of this agreement? Yes\n? Which directory should the software be installed into? \/u01\/app\/dbvisit\n- - - You are now configuring the Dbvisit StandbyMP Control Center - - -\nThe Control Center will listen on the following discovered addresses:\n -  127.0.0.1\n -  192.168.16.24\n -  10.36.0.241\n -  192.168.17.2\n? Control Center Web Server Port: 4433\n? Agent Communications Port: 5533\nEach Dbvisit StandbyMP Agent and the Dbvisit StandbyMP Control Center must\nbe configured with the same passphrase. This is how we know that they are all\nintended to be part of the same system. Please specify a strong passphrase - we\nsuggest at least 12 characters, containing at least 2 numbers and 2 symbols.\n? Passphrase: ***********\n? Confirm Passphrase: ***********\n- - - Dbvisit StandbyMP Control Center configuration finished - - -\n- - - Ready to perform installation - - -\n? Do you wish to proceed with the setup using the supplied configuration options? Proceed with setup\n- - - Performing installation - - -\nCopying software files to '\/u01\/app\/dbvisit'...\nWriting Control Center configuration file '\/u01\/app\/dbvisit\/standbymp\/conf\/dbvcontrol.ini'...\n- - - Installation successful! - - -\nTo enable the installed Dbvisit StandbyMP components to run as system services, you will need to execute some commands as the \"root\" user in order to complete the setup.\nTo install the system service(s), you can run, substituting the name of the user to run as if it is different from the current user:\n\tsudo \/u01\/app\/dbvisit\/standbymp\/bin\/dbvcontrol service install --user oracle\nTo start the system service(s), you can run:\n\tsudo \/u01\/app\/dbvisit\/standbymp\/bin\/dbvcontrol service start\n- - - Configuration Summary - - -\nInstall Directory:              \/u01\/app\/dbvisit\nControl Center Web Server Port: 4433\nAgent Communications Port:      5533\n- - - Installation Summary - - -\nThe following actions have been performed:\n -  Installed Dbvisit StandbyMP Control Center software into: \/u01\/app\/dbvisit\/standbymp\n -  Control Center settings are available in the configuration file: \/u01\/app\/dbvisit\/standbymp\/conf\/dbvcontrol.ini\n -  Generated new security certificates in: \/u01\/app\/dbvisit\/standbymp\/certificates\n- - - INSTALLATION SUCCESSFUL - - -\n<\/pre>\n<br>\n\n\n\n<p>Install and start dbvcontrol service:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,3,9,12,32]\">\n[root@dbi-oda-x8 ~]# \/u01\/app\/dbvisit\/standbymp\/bin\/dbvcontrol service install --user oracle\n\n[root@dbi-oda-x8 ~]# service dbvcontrol status\nRedirecting to \/bin\/systemctl status dbvcontrol.service\n\u25cf dbvcontrol.service - The Dbvisit StandbyMP Control Center provides centralized coordination for Dbvisit StandbyMP Agent operations, as well as the web-based management console.\n   Loaded: loaded (\/etc\/systemd\/system\/dbvcontrol.service; enabled; vendor preset: disabled)\n   Active: inactive (dead)\n\n[root@dbi-oda-x8 ~]# service dbvcontrol start\nRedirecting to \/bin\/systemctl start dbvcontrol.service\n\n[root@dbi-oda-x8 ~]# service dbvcontrol status\nRedirecting to \/bin\/systemctl status dbvcontrol.service\n\u25cf dbvcontrol.service - The Dbvisit StandbyMP Control Center provides centralized coordination for Dbvisit StandbyMP Agent operations, as well as the web-based management console.\n   Loaded: loaded (\/etc\/systemd\/system\/dbvcontrol.service; enabled; vendor preset: disabled)\n   Active: active (running) since Wed 2023-02-08 15:31:24 CET; 3s ago\n Main PID: 12525 (dbvcontrol)\n    Tasks: 20\n   Memory: 107.4M\n   CGroup: \/system.slice\/dbvcontrol.service\n           \u2514\u250012525 \/u01\/app\/dbvisit\/standbymp\/bin\/dbvcontrol service run\nFeb 08 15:31:24 dbi-oda-x8 systemd[1]: Started The Dbvisit StandbyMP Control Center provides centralized coordination for Dbvisit StandbyMP Agent operations, as well as the web-based management console..\nFeb 08 15:31:24 dbi-oda-x8 dbvcontrol[12525]: Changing to directory '\/u01\/app\/dbvisit\/standbymp'\nFeb 08 15:31:24 dbi-oda-x8 dbvcontrol[12525]: Using log directory '\/u01\/app\/dbvisit\/standbymp\/log'\nFeb 08 15:31:24 dbi-oda-x8 dbvcontrol[12525]: Setting database directory to '\/u01\/app\/dbvisit\/standbymp\/db'\nFeb 08 15:31:24 dbi-oda-x8 dbvcontrol[12525]: Starting service *natssvc.natsSvc\nFeb 08 15:31:24 dbi-oda-x8 dbvcontrol[12525]: Starting service *directorsvc.directorService\nFeb 08 15:31:24 dbi-oda-x8 dbvcontrol[12525]: Starting service *guisvc.guiService\nFeb 08 15:31:24 dbi-oda-x8 dbvcontrol[12525]: Starting service *notificationsvc.notificationService\nFeb 08 15:31:24 dbi-oda-x8 dbvcontrol[12525]: Starting service *observersvc.observerService\n\n[root@dbi-oda-x8 ~]# ps -ef | grep [d]bv\noracle    2077     1  0 15:23 ?        00:00:00 \/u01\/app\/dbvisit\/standbymp\/bin\/dbvagentmanager service run\noracle   12525     1  0 15:31 ?        00:00:00 \/u01\/app\/dbvisit\/standbymp\/bin\/dbvcontrol service run\noracle   12583  2077  0 15:31 ?        00:00:00 \/u01\/app\/dbvisit\/standbymp\/bin\/dbvhelper -agentManagerId sieihpnp2rtm -directorId 3pheqx762v9xr -hostAddress dbi-oda-x8.dbi-lab.ch -natsAddress dbi-oda-x8.dbi-lab.ch -natsPort 5533 -configurationType Oracle -helperProcessKey oracle:sieihpnp2rtm\n<\/pre>\n<br>\n\n\n\n<p>We can see that as we are now having a Control Center, we have the dbvcontrol process running on standby node and dbvhelper process running on both primary and standby nodes:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,6]\">\n[root@dbi-oda-x8 ~]# ps -ef | grep [d]bv\noracle    2077     1  0 15:23 ?        00:00:00 \/u01\/app\/dbvisit\/standbymp\/bin\/dbvagentmanager service run\noracle   12525     1  0 15:31 ?        00:00:00 \/u01\/app\/dbvisit\/standbymp\/bin\/dbvcontrol service run\noracle   12583  2077  0 15:31 ?        00:00:00 \/u01\/app\/dbvisit\/standbymp\/bin\/dbvhelper -agentManagerId sieihpnp2rtm -directorId 3pheqx762v9xr -hostAddress dbi-oda-x8.dbi-lab.ch -natsAddress dbi-oda-x8.dbi-lab.ch -natsPort 5533 -configurationType Oracle -helperProcessKey oracle:sieihpnp2rtm\n\n[oracle@dbioda02 ~]$ ps -ef | grep [d]bv\noracle   74593     1  2 15:32 ?        00:00:00 \/u01\/app\/dbvisit\/standbymp\/bin\/dbvagentmanager service run\noracle   74633 74593  1 15:32 ?        00:00:00 \/u01\/app\/dbvisit\/standbymp\/bin\/dbvhelper -agentManagerId 2v7stu05tncsp -directorId 3pheqx762v9xr -hostAddress dbvisitvippri -natsAddress dbi-oda-x8 -natsPort 5533 -configurationType Oracle -helperProcessKey oracle:2v7stu05tncsp\n<\/pre>\n<br>\n\n\n\n<h2 class=\"wp-block-heading\">Create ACFS directory for Dbvisit archive logs on both primary and standby cluster<\/h2>\n\n\n\n<p>We will create a new ACFS file system on both primary and standby cluster to record Dbvisit archive logs.<\/p>\n\n\n\n<p>On primary from node 0:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,3,5,28,35,37,39,41,43]\">\n[grid@dbioda02 ~]$ asmcmd\n\nASMCMD&gt; volcreate -G RECO -s 60G DBVARCLOG\n\nASMCMD&gt; volinfo -G RECO -a\nDiskgroup Name: RECO\n\t Volume Name: DBVARCLOG\n\t Volume Device: \/dev\/asm\/dbvarclog-269\n\t State: ENABLED\n\t Size (MB): 61440\n\t Resize Unit (MB): 64\n\t Redundancy: MIRROR\n\t Stripe Columns: 8\n\t Stripe Width (K): 1024\n\t Usage:\n\t Mountpath:\n\t Volume Name: DBVISIT\n\t Volume Device: \/dev\/asm\/dbvisit-269\n\t State: ENABLED\n\t Size (MB): 102400\n\t Resize Unit (MB): 64\n\t Redundancy: MIRROR\n\t Stripe Columns: 8\n\t Stripe Width (K): 1024\n\t Usage: ACFS\n\t Mountpath: \/u01\/app\/dbvisit\n\n[root@dbioda02 ~]# mkfs.acfs \/dev\/asm\/dbvarclog-269\nmkfs.acfs: version                   = 19.0.0.0.0\nmkfs.acfs: on-disk version           = 46.0\nmkfs.acfs: volume                    = \/dev\/asm\/dbvarclog-269\nmkfs.acfs: volume size               = 64424509440  (  60.00 GB )\nmkfs.acfs: Format complete.\n\n[root@dbioda02 ~]# mkdir -p \/u90\/app\/oracle\/dbvisit_arch\n\n[root@dbioda02 ~]# cd \/u01\/app\/19.15.0.0\/grid\/bin\n\n[root@dbioda02 bin]# .\/srvctl add filesystem -volume DBVARCLOG -diskgroup RECO -path \/u90\/app\/oracle\/dbvisit_arch -fstype ACFS -autostart ALWAYS -mountowner oracle\n\n[root@dbioda02 bin]# .\/srvctl start filesystem -device \/dev\/asm\/dbvarclog-269\n\n[root@dbioda02 bin]# df -h \/u90\/app\/oracle\/dbvisit_arch\nFilesystem              Size  Used Avail Use% Mounted on\n\/dev\/asm\/dbvarclog-269   60G  671M   60G   2% \/u90\/app\/oracle\/dbvisit_arch\n<\/pre>\n<br>\n\n\n\n<p>On standby:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,3,5,38,45,47,49,51,53]\">\n[grid@dbi-oda-x8 ~]$ asmcmd\n\nASMCMD&gt; volcreate -G RECO -s 60G DBVARCLOG\n\nASMCMD&gt; volinfo -G RECO -a\nDiskgroup Name: RECO\n\t Volume Name: DBVARCLOG\n\t Volume Device: \/dev\/asm\/dbvarclog-233\n\t State: ENABLED\n\t Size (MB): 61440\n\t Resize Unit (MB): 64\n\t Redundancy: MIRROR\n\t Stripe Columns: 8\n\t Stripe Width (K): 1024\n\t Usage:\n\t Mountpath:\n\t Volume Name: RDOTESTNS\n\t Volume Device: \/dev\/asm\/rdotestns-233\n\t State: ENABLED\n\t Size (MB): 14336\n\t Resize Unit (MB): 64\n\t Redundancy: HIGH\n\t Stripe Columns: 8\n\t Stripe Width (K): 1024\n\t Usage: ACFS\n\t Mountpath: \/u04\/app\/oracle\/redo\/TESTNS\n\t Volume Name: RECO\n\t Volume Device: \/dev\/asm\/reco-233\n\t State: ENABLED\n\t Size (MB): 288768\n\t Resize Unit (MB): 64\n\t Redundancy: MIRROR\n\t Stripe Columns: 8\n\t Stripe Width (K): 1024\n\t Usage: ACFS\n\t Mountpath: \/u03\/app\/oracle\n\n[root@dbi-oda-x8 ~]# mkfs.acfs \/dev\/asm\/dbvarclog-233\nmkfs.acfs: version                   = 19.0.0.0.0\nmkfs.acfs: on-disk version           = 46.0\nmkfs.acfs: volume                    = \/dev\/asm\/dbvarclog-233\nmkfs.acfs: volume size               = 64424509440  (  60.00 GB )\nmkfs.acfs: Format complete.\n\n[root@dbi-oda-x8 ~]# mkdir -p \/u90\/app\/oracle\/dbvisit_arch\n\n[root@dbi-oda-x8 ~]# cd \/u01\/app\/19.17.0.0\/grid\/bin\n\n[root@dbi-oda-x8 bin]# .\/srvctl add filesystem -volume DBVARCLOG -diskgroup RECO -path \/u90\/app\/oracle\/dbvisit_arch -fstype ACFS -autostart ALWAYS -mountowner oracle\n\n[root@dbi-oda-x8 bin]# .\/srvctl start filesystem -device \/dev\/asm\/dbvarclog-233\n\n[root@dbi-oda-x8 bin]# df -h \/u90\/app\/oracle\/dbvisit_arch\nFilesystem              Size  Used Avail Use% Mounted on\n\/dev\/asm\/dbvarclog-233   60G  431M   60G   1% \/u90\/app\/oracle\/dbvisit_arch\n<\/pre>\n<br>\n\n\n\n<p>We will create appropriate subdirectories:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,3]\">\n[oracle@dbioda02 ~]$ mkdir \/u90\/app\/oracle\/dbvisit_arch\/DBISEHA\n\n[oracle@dbi-oda-x8 ~]$ mkdir \/u90\/app\/oracle\/dbvisit_arch\/DBISEHA\n<\/pre>\n<br>\n\n\n\n<h2 class=\"wp-block-heading\">Duplicate primary database for standby<\/h2>\n\n\n\n<p>Standby database instance has been prepared on standby node using same Oracle Version as the primary database, that&#8217;s to say 19.15.0.0.220419.<\/p>\n\n\n\n<p>Standby database has been created with RMAN duplication:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,7,12,16,20,35]\">\noracle@dbi-oda-x8:\/home\/oracle\/ [DBISEHA] DBISEHA\n********* dbi services Ltd. *********\nSTATUS                 : STARTED\nVERSION                : 19.15.0.0.0\n*************************************\n\noracle@dbi-oda-x8:\/home\/oracle\/ [DBISEHA] rmanh\nRecovery Manager: Release 19.0.0.0.0 - Production on Wed Feb 8 16:50:10 2023\nVersion 19.15.0.0.0\nCopyright (c) 1982, 2019, Oracle and\/or its affiliates.  All rights reserved.\n\nRMAN&gt; connect target sys@DBISEHA\ntarget database Password:\nconnected to target database: DBISEHA (DBID=1535732728)\n\nRMAN&gt; connect auxiliary sys@DBISEHA_STD\nauxiliary database Password:\nconnected to auxiliary database: DBISEHA (not mounted)\n\nRMAN&gt; duplicate target database for standby from active database dorecover nofilenamecheck;\nStarting Duplicate Db at 08-FEB-2023 16:51:11\nusing target database control file instead of recovery catalog\nallocated channel: ORA_AUX_DISK_1\nchannel ORA_AUX_DISK_1: SID=21 device type=DISK\n...\n...\n...\ndeleted archived log\narchived log file name=+RECO\/DBISEHA_STD\/ARCHIVELOG\/2023_02_08\/thread_1_seq_4.346.1128271929 RECID=1 STAMP=1128271929\ndeleted archived log\narchived log file name=+RECO\/DBISEHA_STD\/ARCHIVELOG\/2023_02_08\/thread_1_seq_5.345.1128271929 RECID=2 STAMP=1128271929\nDeleted 2 objects\nFinished Duplicate Db at 08-FEB-2023 16:52:18\n\noracle@dbi-oda-x8:\/home\/oracle\/ [DBISEHA] DBISEHA\n********* dbi services Ltd. *********\nSTATUS                 : MOUNTED\nDB_UNIQUE_NAME         : DBISEHA_STD\nOPEN_MODE              : MOUNTED\nLOG_MODE               : ARCHIVELOG\nDATABASE_ROLE          : PHYSICAL STANDBY\nFLASHBACK_ON           : NO\nFORCE_LOGGING          : YES\nVERSION                : 19.15.0.0.0\nCDB Enabled            : NO\n*************************************\n<\/pre>\n<br>\n\n\n\n<h2 class=\"wp-block-heading\">Create Dbvisit Database Configuration <\/h2>\n\n\n\n<p>I created the DDC (Dbvisit Database Configuration) using CLI.<\/p>\n\n\n\n<p>We need to make sure that the VIP and the database instance is running on node 0:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,7]\">\n[root@dbioda02 dbi]# crsctl status resource dbvisitvippri\nNAME=dbvisitvippri\nTYPE=app.appviptypex2.type\nTARGET=ONLINE\nSTATE=ONLINE on dbioda02\n\n[root@dbioda02 dbi]# ps -ef | grep [p]mon | grep -i dbiseha\noracle   18471     1  0 Jan27 ?        00:00:40 ora_pmon_DBISEHA\n<\/pre>\n<br>\n\n\n\n<p>We will need exact nodes names, so get them:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,14]\">\n[grid@dbioda02 ~]$ crsctl check cluster -all\n**************************************************************\ndbioda02:\nCRS-4537: Cluster Ready Services is online\nCRS-4529: Cluster Synchronization Services is online\nCRS-4533: Event Manager is online\n**************************************************************\ndbioda03:\nCRS-4537: Cluster Ready Services is online\nCRS-4529: Cluster Synchronization Services is online\nCRS-4533: Event Manager is online\n**************************************************************\n\n[grid@dbi-oda-x8 ~]$ crsctl check cluster -all\n**************************************************************\ndbi-oda-x8:\nCRS-4537: Cluster Ready Services is online\nCRS-4529: Cluster Synchronization Services is online\nCRS-4533: Event Manager is online\n**************************************************************\n<\/pre>\n<br>\n\n\n\n<p>I created the dbvisit configuration:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4,17,18,28,29,44,46,58,60,64,66,70,72,76,78,82,84,90,92,98,100,,116,118,124,126,130,132,136,138,142,144,148,150,160,162,166,168,174,176,182,184,188,190,224]\">\noracle@dbioda02:\/u01\/app\/dbvisit\/standbymp\/oracle\/ [DBISEHA] pwd\n\/u01\/app\/dbvisit\/standbymp\/oracle\n\noracle@dbioda02:\/u01\/app\/dbvisit\/standbymp\/oracle\/ [DBISEHA] .\/dbvctl -o setup\n=========================================================\n     Dbvisit Standby Database Technology (11.2.1_0_g8a57214c)\n           http:\/\/www.dbvisit.com\n=========================================================\n=&gt;dbvctl only needs to be run on the primary server.\nIs this the primary server?  [Yes]:\nThe following Dbvisit Database configuration (DDC) file(s) found on this\nserver:\n     DDC\n     ===\n1)   Create New DDC\n2)   Cancel\nPlease enter choice [] : 1\nIs this correct?  [Yes]:\n=========================================================\nDbvisit Standby setup begins.\n=========================================================\nThe following Oracle instance(s) have been found on this server:\n     SID            ORACLE_HOME\n     ===            ===========\n1)   DBITST1        \/u01\/app\/odaorahome\/oracle\/product\/19.0.0.0\/dbhome_1\n2)   DBISEHA        \/u01\/app\/odaorahome\/oracle\/product\/19.0.0.0\/dbhome_2\n3)   Enter own ORACLE_SID and ORACLE_HOME\nPlease enter choice [] : 2\nIs this correct?  [Yes]:\n=&gt;ORACLE_SID will be: DBISEHA\n=&gt;ORACLE_HOME will be: \/u01\/app\/odaorahome\/oracle\/product\/19.0.0.0\/dbhome_2\n------------------------------------------------------------------------------\nEnter the the virtual hostname (linked to a Virtual IP) for primary database.\nThis virtual hostname is attached to a VIP that will be able to move between\nthe RAC nodes. Dbvisit Standby will only run on the server where this virtual\nhostname (VIP) resource is running.\nThe Virtual Hostname (and VIP) should be configured as a resouce in clusterware\nand must be enabled and started on one of the nodes before yo continue with the\nsetup.\nNOTE: If you are not using a Virtual Hostname (Highly Recommended), Dbvisit\nStandby can only be configured to run on one dedicated node in the RAC\nconfiguration - specify the hosts name here if you do not have a Virtual\nHostname (attached to VIP) for the cluster configured.\n=&gt;SOURCE is []: dbvisitvippri\nYour input: dbvisitvippri\nIs this correct?  [Yes]:\nChoice is dbvisitvippri\n------------------------------------------------------------------------------\nPlease enter a filesystem directory that Dbvisit Standby use to store (archive)\nlog files.  This directory is not the same as the database recovery area or\narchive destinations and should not be located in these areas.\nThe ARCHSOURCE directory is located on the primary server and will become the\nARCHDEST location when the primary database is converted to a standby database\nduring a Graceful Switchover operation.\nThis directory will ONLY contain (archive) log files related to this database.\nIt should not contain any other (non archive log) files.\nPlease ensure that this directory exists on\n=&gt;ARCHSOURCE is [\/u01\/app\/oracle\/dbvisit_arch\/DBISEHA]: \/u90\/app\/oracle\/dbvisit_arch\/DBISEHA\nYour input: \/u90\/app\/oracle\/dbvisit_arch\/DBISEHA\nIs this correct?  [Yes]:\nChoice is \/u90\/app\/oracle\/dbvisit_arch\/DBISEHA\n------------------------------------------------------------------------------\nEnter primary node 1.\n=&gt;RAC1_HOST is [dbioda03]: dbioda02\nYour input: dbioda02\nIs this correct?  [Yes]:\nChoice is dbioda02\n------------------------------------------------------------------------------\nEnter primary ASM instance for node dbioda03. Leave null for ACFS\n=&gt;RAC1_SID_ASM is []: +ASM1\nYour input: +ASM1\nIs this correct?  [Yes]:\nChoice is +ASM1\n------------------------------------------------------------------------------\nEnter primary node 2.\n=&gt;RAC2_HOST is [dbioda02]: dbioda03\nYour input: dbioda03\nIs this correct?  [Yes]:\nChoice is dbioda03\n------------------------------------------------------------------------------\nEnter primary ASM instance for node dbioda02. Leave null for ACFS\n=&gt;RAC2_SID_ASM is [+ASM1]: +ASM2\nYour input: +ASM2\nIs this correct?  [Yes]:\nChoice is +ASM2\n------------------------------------------------------------------------------\nDo you want to use SSH to connect to the standby server?  Note that if you are\nusing SSH, passwordless SSH authentication between the hosts must already be\nconfigured.  By default Dbvnet will be used.\n=&gt;USE_SSH is [N]:\nYour input: N\nIs this correct?  [Yes]:\nChoice is N\n------------------------------------------------------------------------------\nSpecify the DBVNET or SSH port number on the primary server. The default value\nsupplied is the dbvnet port 7890.  If you specified the use of SSH, please\nspecify the SSH port here.\n=&gt;NETPORT is [7890]:\nYour input: 7890\nIs this correct?  [Yes]:\nChoice is 7890\n------------------------------------------------------------------------------\nEnter the standby database hostname.\nIf the standby database will be Oracle RAC enabled:\nEnter the the Virtual Hostname (linked to a Virtual IP) for standby database.\nThis virtual hostname is attached to a VIP that will be able to move between\nthe RAC nodes. Dbvisit Standby will only run on the server where this virtual\nhostname (VIP) resource is running.\nThe Virtual Hostname (and VIP) should be configured as a resouce in clusterware\nand must be enabled and started on one of the nodes before yo continue with the\nsetup.  If you are not using a Virtual Hostname (Highly Recommended), Dbvisit\nStandby can only be configured to run on one dedicated node in the RAC\nconfiguration - specify the hosts name here if you do not have a Virtual\nHostname (attached to VIP) for the cluster configured.\nFor non-RAC configurations specify the standby database server name here.\n=&gt;DESTINATION is []: dbi-oda-x8\nYour input: dbi-oda-x8\nIs this correct?  [Yes]:\nChoice is dbi-oda-x8\n------------------------------------------------------------------------------\nSpecify the DBVNET or SSH port number on the standby server. The default value\nsupplied is the dbvnet port 7890.  If you specified the use of SSH, please\nspecify the SSH port here.\n=&gt;NETPORT_DR is [7890]:\nYour input: 7890\nIs this correct?  [Yes]:\nChoice is 7890\n------------------------------------------------------------------------------\nEnter Dbvisit Standby installation directory on the standby server\n=&gt;DBVISIT_BASE_DR is [\/u01\/app\/dbvisit\/standbymp]: \/u01\/app\/dbvisit\/standbymp\nYour input: \/u01\/app\/dbvisit\/standbymp\nIs this correct?  [Yes]:\nChoice is \/u01\/app\/dbvisit\/standbymp\n------------------------------------------------------------------------------\nEnter ORACLE_HOME directory on the standby server\n=&gt;ORACLE_HOME_DR is [\/u01\/app\/odaorahome\/oracle\/product\/19.0.0.0\/dbhome_2]: \/u01\/app\/odaorahome\/oracle\/product\/19.0.0.0\/dbhome_8\nYour input: \/u01\/app\/odaorahome\/oracle\/product\/19.0.0.0\/dbhome_8\nIs this correct?  [Yes]:\nChoice is \/u01\/app\/odaorahome\/oracle\/product\/19.0.0.0\/dbhome_8\n------------------------------------------------------------------------------\nEnter DB_UNIQUE_NAME on the standby server\n=&gt;DB_UNIQUE_NAME_DR is [DBISEHA]: DBISEHA_STD\nYour input: DBISEHA_STD\nIs this correct?  [Yes]:\nChoice is DBISEHA_STD\n------------------------------------------------------------------------------\nWill the standby database be a SEHA database?\n=&gt;RAC_DR is [N]:\nYour input: N\nIs this correct?  [Yes]:\nChoice is N\n------------------------------------------------------------------------------\nPlease enter the directory where Dbvisit Standby will transfer the (archive)\nlog files to on standby server.   This directory is not the same as the\ndatabase recovery area or archive destinations and should not be located in\nthese areas.\nThis directory should ONLY contain (archive) log files related to this\ndatabase. It should not contain any other (non archive log) files.\nPlease ensure that this directory exists on the standby server\n=&gt;ARCHDEST is [\/u90\/app\/oracle\/dbvisit_arch\/DBISEHA]:\nYour input: \/u90\/app\/oracle\/dbvisit_arch\/DBISEHA\nIs this correct?  [Yes]:\nChoice is \/u90\/app\/oracle\/dbvisit_arch\/DBISEHA\n------------------------------------------------------------------------------\nEnter ORACLE_SID on the standby server\n=&gt;ORACLE_SID_DR is [DBISEHA]:\nYour input: DBISEHA\nIs this correct?  [Yes]:\nChoice is DBISEHA\n------------------------------------------------------------------------------\nEnter ASM instance name on the standby server, if your standby is using ASM.\nIf you are not using ASM on the standby or standby is ACFS leave the value\nnull.\n=&gt;ORACLE_SID_ASM_DR is []: +ASM1\nYour input: +ASM1\nIs this correct?  [Yes]:\nChoice is +ASM1\n------------------------------------------------------------------------------\nPlease specify the name of the Dbvisit Database configuration (DDC) file.\nThe DDC file is a plain text file that contains all the Dbvisit Standby\nsettings.\n=&gt;ENV_FILE is [DBISEHA]:\nYour input: DBISEHA\nIs this correct?  [Yes]:\nChoice is DBISEHA\n------------------------------------------------------------------------------\nProvide license key.\n=&gt;LICENSE_KEY is []: *******************************************\nYour input: *******************************************\nIs this correct?  [Yes]:\nChoice is *******************************************\n------------------------------------------------------------------------------\nBelow are the list of configuration variables provided during the setup\nprocess:\nConfiguration Variable             Value Provided\n======================             ==============\nORACLE_SID                         DBISEHA\nORACLE_HOME\n\/u01\/app\/odaorahome\/oracle\/product\/19.0.0.0\/dbhome_2\nSOURCE                             dbvisitvippri\nARCHSOURCE                         \/u90\/app\/oracle\/dbvisit_arch\/DBISEHA\nRAC1_THREAD                        1\nRAC1_HOST                          dbioda02\nRAC1_SID                           DBISEHA\nRAC1_SID_ASM                       +ASM1\nRAC2_THREAD                        1\nRAC2_HOST                          dbioda03\nRAC2_SID                           DBISEHA\nRAC2_SID_ASM                       +ASM2\nUSE_SSH                            N\nNETPORT                            7890\nDESTINATION                        dbi-oda-x8\nNETPORT_DR                         7890\nDBVISIT_BASE_DR                    \/u01\/app\/dbvisit\/standbymp\nORACLE_HOME_DR\n\/u01\/app\/odaorahome\/oracle\/product\/19.0.0.0\/dbhome_8\nDB_UNIQUE_NAME_DR                  DBISEHA_STD\nRAC_DR                             N\nARCHDEST                           \/u90\/app\/oracle\/dbvisit_arch\/DBISEHA\nORACLE_SID_DR                      DBISEHA\nORACLE_SID_ASM_DR                  +ASM1\nENV_FILE                           DBISEHA\nLICENSE_KEY                        *******************************************\nAre these variables correct?  [Yes]:\n&gt;&gt;&gt; Dbvisit Database configuration (DDC) file DBISEHA created.\n&gt;&gt;&gt; Dbvisit Database repository (DDR) DBISEHA created.\n   Repository Version          11.0\n   Software Version            11.0\n   Repository Status           VALID\nPID:6367\nTRACE:dbvisit_install.log\noracle@dbioda02:\/u01\/app\/dbvisit\/standbymp\/oracle\/ [DBISEHA]\n<\/pre>\n<br>\n\n\n\n<h2 class=\"wp-block-heading\">Sending and applying logs<\/h2>\n\n\n\n<p>I sent logs from primary database:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">oracle@dbioda02:\/u01\/app\/dbvisit\/standbymp\/oracle\/ [DBISEHA] .\/dbvctl -d DBISEHA\n=============================================================\nDbvisit Standby Database Technology (11.2.1_0_g8a57214c) (pid 30710)\ndbvctl started on dbvisitvippri: Wed Feb  8 17:43:09 2023\n=============================================================\n&gt;&gt;&gt; Obtaining information from standby database (RUN_INSPECT=Y)... done\n    Thread: 1 Archive log gap: 0. Transfer log gap: 5\n&gt;&gt;&gt; Sending heartbeat message... skipped\n&gt;&gt;&gt; First time Dbvisit Standby runs, Dbvisit Standby configuration will be copied to\n    dbi-oda-x8...\n&gt;&gt;&gt; Performing a log switch... done\n&gt;&gt;&gt; Transferring Log file(s) from DBISEHA on dbvisitvippri to dbi-oda-x8:\n    thread 1 sequence 6 (thread_1_seq_6.328.1128274995)... done\n=============================================================\ndbvctl ended on dbvisitvippri: Wed Feb  8 17:43:21 2023\n=============================================================\n<\/pre>\n<br>\n\n\n\n<p>I applied logs on the standby database:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">oracle@dbi-oda-x8:\/u01\/app\/dbvisit\/standbymp\/oracle\/ [DBISEHA] .\/dbvctl -d DBISEHA\n=============================================================\nDbvisit Standby Database Technology (11.2.1_0_g8a57214c) (pid 55512)\ndbvctl started on dbi-oda-x8: Wed Feb  8 17:44:54 2023\n=============================================================\n&gt;&gt;&gt; Sending heartbeat message... skipped\n&gt;&gt;&gt; Applying Log file(s) from dbvisitvippri to DBISEHA on dbi-oda-x8:\n    thread 1 sequence 6 (1_6_1127209532.arc)... done\n    Last applied log(s):\n    thread 1 sequence 6\n    Next SCN required for recovery 3429450 generated at 2023-02-08:17:43:15 +01:00.\n    Next required log thread 1 sequence 7\n=============================================================\ndbvctl ended on dbi-oda-x8: Wed Feb  8 17:44:59 2023\n=============================================================\n<\/pre>\n<br>\n\n\n\n<p>I checked report gap:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">oracle@dbioda02:\/u01\/app\/dbvisit\/standbymp\/oracle\/ [DBISEHA] .\/dbvctl -d DBISEHA -i\n=============================================================\nDbvisit Standby Database Technology (11.2.1_0_g8a57214c) (pid 36127)\ndbvctl started on dbvisitvippri: Wed Feb  8 17:45:38 2023\n=============================================================\nDbvisit Standby log gap report for DBISEHA at 202302081745:\n-------------------------------------------------------------\nDescription       | SCN          | Timestamp\n-------------------------------------------------------------\nSource              3429533        2023-02-08:17:45:37 +01:00\nDestination         3429450        2023-02-08:17:43:15 +01:00\nStandby database time lag (DAYS-HH:MI:SS): +00:02:22\nReport for Thread 1\n-------------------\nSOURCE\nCurrent Sequence 7\nLast Archived Sequence 6\nLast Transferred Sequence 6\nLast Transferred Timestamp 2023-02-08 17:43:20\nDESTINATION\nNext Required Recovery Sequence 7\nTransfer Log Gap 0\nApply Log Gap 0\n=============================================================\ndbvctl ended on dbvisitvippri: Wed Feb  8 17:45:41 2023\n=============================================================\n<\/pre>\n<br>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>I have been setting up and testing a combination of the Oracle SEHA feature with last dbvisit StandbyMP solution having Oracle SEHA only running on the primary database. The standby database is a single node cluster. I might need to say it is a great combination providing High Availability and Disaster Recovery.<\/p>\n\n\n\n<p>In a next blog, I will run some switchover between primary and standby as well as relocation of the instance between primary nodes.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I recently blog on Oracle SEHA on ODA, see my article https:\/\/www.dbi-services.com\/blog\/seha-on-oda\/. Oracle SEHA is used for High Availability for Standard Edition. Dbvisit Standby is a Disaster Recovery well known application designed for Oracle Standard Edition. Dbvisit guarantees database continuity, and will reduce RTO and RPO. With Dbvisit we will limit business impact in case [&hellip;]<\/p>\n","protected":false},"author":48,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[59],"tags":[372,871,2567,2798],"type_dbi":[2728],"class_list":["post-22342","post","type-post","status-publish","format-standard","hentry","category-oracle","tag-dbvisit","tag-ha","tag-oda-2","tag-seha","type-oracle"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Combine Oracle SEHA on ODA with Dbvisit StandbyMP? - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/combine-oracle-seha-on-oda-with-dbvisit-standbymp\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Combine Oracle SEHA on ODA with Dbvisit StandbyMP?\" \/>\n<meta property=\"og:description\" content=\"I recently blog on Oracle SEHA on ODA, see my article https:\/\/www.dbi-services.com\/blog\/seha-on-oda\/. Oracle SEHA is used for High Availability for Standard Edition. Dbvisit Standby is a Disaster Recovery well known application designed for Oracle Standard Edition. Dbvisit guarantees database continuity, and will reduce RTO and RPO. With Dbvisit we will limit business impact in case [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/combine-oracle-seha-on-oda-with-dbvisit-standbymp\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-08T16:55:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-02-17T12:12:07+00:00\" \/>\n<meta name=\"author\" content=\"Marc Wagner\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Marc Wagner\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"28 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/combine-oracle-seha-on-oda-with-dbvisit-standbymp\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/combine-oracle-seha-on-oda-with-dbvisit-standbymp\/\"},\"author\":{\"name\":\"Marc Wagner\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/225d9884b8467ead9a872823acb14628\"},\"headline\":\"Combine Oracle SEHA on ODA with Dbvisit StandbyMP?\",\"datePublished\":\"2023-02-08T16:55:14+00:00\",\"dateModified\":\"2023-02-17T12:12:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/combine-oracle-seha-on-oda-with-dbvisit-standbymp\/\"},\"wordCount\":1475,\"commentCount\":0,\"keywords\":[\"dbvisit\",\"HA\",\"oda\",\"SEHA\"],\"articleSection\":[\"Oracle\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/combine-oracle-seha-on-oda-with-dbvisit-standbymp\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/combine-oracle-seha-on-oda-with-dbvisit-standbymp\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/combine-oracle-seha-on-oda-with-dbvisit-standbymp\/\",\"name\":\"Combine Oracle SEHA on ODA with Dbvisit StandbyMP? - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2023-02-08T16:55:14+00:00\",\"dateModified\":\"2023-02-17T12:12:07+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/225d9884b8467ead9a872823acb14628\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/combine-oracle-seha-on-oda-with-dbvisit-standbymp\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/combine-oracle-seha-on-oda-with-dbvisit-standbymp\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/combine-oracle-seha-on-oda-with-dbvisit-standbymp\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Combine Oracle SEHA on ODA with Dbvisit StandbyMP?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/225d9884b8467ead9a872823acb14628\",\"name\":\"Marc Wagner\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g\",\"caption\":\"Marc Wagner\"},\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/marc-wagner\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Combine Oracle SEHA on ODA with Dbvisit StandbyMP? - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/combine-oracle-seha-on-oda-with-dbvisit-standbymp\/","og_locale":"en_US","og_type":"article","og_title":"Combine Oracle SEHA on ODA with Dbvisit StandbyMP?","og_description":"I recently blog on Oracle SEHA on ODA, see my article https:\/\/www.dbi-services.com\/blog\/seha-on-oda\/. Oracle SEHA is used for High Availability for Standard Edition. Dbvisit Standby is a Disaster Recovery well known application designed for Oracle Standard Edition. Dbvisit guarantees database continuity, and will reduce RTO and RPO. With Dbvisit we will limit business impact in case [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/combine-oracle-seha-on-oda-with-dbvisit-standbymp\/","og_site_name":"dbi Blog","article_published_time":"2023-02-08T16:55:14+00:00","article_modified_time":"2023-02-17T12:12:07+00:00","author":"Marc Wagner","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Marc Wagner","Est. reading time":"28 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/combine-oracle-seha-on-oda-with-dbvisit-standbymp\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/combine-oracle-seha-on-oda-with-dbvisit-standbymp\/"},"author":{"name":"Marc Wagner","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/225d9884b8467ead9a872823acb14628"},"headline":"Combine Oracle SEHA on ODA with Dbvisit StandbyMP?","datePublished":"2023-02-08T16:55:14+00:00","dateModified":"2023-02-17T12:12:07+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/combine-oracle-seha-on-oda-with-dbvisit-standbymp\/"},"wordCount":1475,"commentCount":0,"keywords":["dbvisit","HA","oda","SEHA"],"articleSection":["Oracle"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/combine-oracle-seha-on-oda-with-dbvisit-standbymp\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/combine-oracle-seha-on-oda-with-dbvisit-standbymp\/","url":"https:\/\/www.dbi-services.com\/blog\/combine-oracle-seha-on-oda-with-dbvisit-standbymp\/","name":"Combine Oracle SEHA on ODA with Dbvisit StandbyMP? - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2023-02-08T16:55:14+00:00","dateModified":"2023-02-17T12:12:07+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/225d9884b8467ead9a872823acb14628"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/combine-oracle-seha-on-oda-with-dbvisit-standbymp\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/combine-oracle-seha-on-oda-with-dbvisit-standbymp\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/combine-oracle-seha-on-oda-with-dbvisit-standbymp\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Combine Oracle SEHA on ODA with Dbvisit StandbyMP?"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/225d9884b8467ead9a872823acb14628","name":"Marc Wagner","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g","caption":"Marc Wagner"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/marc-wagner\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/22342","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/48"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=22342"}],"version-history":[{"count":64,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/22342\/revisions"}],"predecessor-version":[{"id":22701,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/22342\/revisions\/22701"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=22342"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=22342"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=22342"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=22342"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}