{"id":8569,"date":"2021-04-29T10:36:06","date_gmt":"2021-04-29T09:36:06","guid":{"rendered":"https:\/\/blog.capdata.fr\/?p=8569"},"modified":"2021-10-29T17:00:10","modified_gmt":"2021-10-29T16:00:10","slug":"gerer-votre-disaster-recovery-oracle-avec-dbvisit-standby","status":"publish","type":"post","link":"https:\/\/blog.capdata.fr\/index.php\/gerer-votre-disaster-recovery-oracle-avec-dbvisit-standby\/","title":{"rendered":"Une solution de &#8220;Disaster Recovery&#8221; sous Oracle Standard Edition avec DBVisit standby"},"content":{"rendered":"<a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-twitter nolightbox\" data-provider=\"twitter\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F8569&#038;text=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"twitter\" title=\"Share on Twitter\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/twitter.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-linkedin nolightbox\" data-provider=\"linkedin\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Linkedin\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F8569&#038;title=Une%20solution%20de%20%E2%80%9CDisaster%20Recovery%E2%80%9D%20sous%20Oracle%20Standard%20Edition%20avec%20DBVisit%20standby\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"linkedin\" title=\"Share on Linkedin\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/linkedin.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Share by email\" href=\"mailto:?subject=Une%20solution%20de%20%E2%80%9CDisaster%20Recovery%E2%80%9D%20sous%20Oracle%20Standard%20Edition%20avec%20DBVisit%20standby&#038;body=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20:%20https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F8569\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Share by email\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/mail.png\" \/><\/a><p>Hello<\/p>\n<p>voici un sujet que les DBA Oracle ont du d\u00e9j\u00e0 aborder \u00e0 plusieurs reprises avec leurs clients en mission, ou en infog\u00e9rance bases de donn\u00e9es. Comment assurer un plan de reprise d&#8217;activit\u00e9s fiable, robuste et p\u00e9renne dans un environnement de production pour une base Oracle critique.<\/p>\n<p>Aussit\u00f4t, nous pensons \u00e0 l&#8217;option &#8220;Oracle Dataguard&#8221;, celle qui est mise en avant par Oracle dans sa version Enterprise Edition et qui a fait ses preuves. Cette architecture permet d&#8217;avoir une instance Oracle primaire qui est r\u00e9pliqu\u00e9e, \u00e0 la transaction pr\u00eate, sur un serveur de secours gr\u00e2ce aux m\u00e9canismes &#8220;transport log&#8221; et &#8220;redo apply&#8221; et administrer via &#8220;dgmgrl&#8221; ou OEM.<\/p>\n<p>De plus, \u00e0 partir de la version Oracle 11g, il vous sera possible de profiter de l&#8217;option (payante!) &#8220;Active Dataguard&#8221;, vos applications de reporting, et autres applications analytiques peuvent interroger l&#8217;instance Oracle Standby dans un mode &#8220;Read Only redo apply&#8221; et ne pas p\u00e9naliser les IO sur la base primaire qui se charge de l&#8217;activit\u00e9 transactionnelle.<\/p>\n<p>Seulement le dilemme qui se pr\u00e9sente bien souvent chez nos clients est, comment assurer un secours \u00e0 notre instance de production lorsque l&#8217;on ne dispose pas de la version Oracle Enterprise Edition ? Car &#8220;Oracle Dataguard&#8221; est avant tout une feature propre \u00e0 l&#8217;\u00e9dition Entreprise et non la Standard 1 ou 2 et encore moins Express&#8230;<\/p>\n<p>C&#8217;est la qu&#8217;intervient la solution <a href=\"https:\/\/dbvisit.com\/\">DBVisit<\/a> avec la partie gestion de la r\u00e9plication via <a href=\"https:\/\/dbvisit.com\/our-solutions\/disaster-recovery\/complete-dr-for-oracle-se\">DBVisit standby<\/a> .<\/p>\n<p>DBVisit est une soci\u00e9t\u00e9 bas\u00e9e \u00e0 Auckland en Nouvelle Z\u00e9lande avec des bureaux aux Etats Unis et Prague. Celle ci s&#8217;est sp\u00e9cialis\u00e9e dans les solutions de Disaster Recovery autour d&#8217;Oracle Standard Edition. Sa solution logicielle est pr\u00e9sente dans un peu plus de 130 pays, y compris en France.<\/p>\n<p>Cet \u00e9diteur a la particularit\u00e9 bien utile, de travailler avec la version Standard Edition d&#8217;Oracle pour monter une architecture de r\u00e9plication.<br \/>\nPour fonctionner, DBVisit aura besoin de travailler avec une base de donn\u00e9es d\u00e9marr\u00e9e en mode &#8220;Archive log&#8221; actif.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h1>Architecture<\/h1>\n<p>Voici un sch\u00e9ma d&#8217;architecture global sur le fonctionnement de DBVisit Standby sur une instance Oracle Standard Edition ayant une standby attach\u00e9e<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8581 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/Archi_dbvisit.jpg\" alt=\"\" width=\"755\" height=\"820\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/Archi_dbvisit.jpg 755w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/Archi_dbvisit-276x300.jpg 276w\" sizes=\"auto, (max-width: 755px) 100vw, 755px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>L&#8217;utilisateur se connecte \u00e0 une console Web via un navigateur, sur le port 4433.<br \/>\nA partir de la, cette console communique avec les 2 serveurs BDD via les agents &#8220;dbvagent&#8221; install\u00e9s sur chacun d&#8217;entre eux.<\/p>\n<p>Les bases de donn\u00e9es envoient leurs informations, redo et archives, aux processus &#8220;dbvnet&#8221;, pr\u00e9sents sur les serveurs, qui se chargent de transf\u00e9rer les archive logs du site primaire au site secondaire.<\/p>\n<p>Le transfert des archivelogs s&#8217;effectue via une communication encrypt\u00e9e entre les 2 sites.<br \/>\nUn processus &#8220;Redo Apply&#8221; permet de rejouer l&#8217;archive transf\u00e9r\u00e9e sur la base standby.<\/p>\n<p>Sur ces 2 sites, il existe des process daemon en arri\u00e8re plan qui se chargent d&#8217;effectuer ce travail au fur et \u00e0 mesure du cycle de vie de la base primaire.<\/p>\n<p>&nbsp;<\/p>\n<h1>Installation<\/h1>\n<p>&nbsp;<\/p>\n<h2>Pr\u00e9requis<\/h2>\n<p>Comme nous l&#8217;avons vu sur le sch\u00e9ma d&#8217;architecture ci dessus, nous avons besoin de 3 serveurs pour assurer l&#8217;installation de DBvisit Standby.<br \/>\n2 serveurs portant les bases de donn\u00e9es, la base primaire, et la base standby.<br \/>\n1 autre serveur sur lequel sera install\u00e9e la console Web qui permettra d&#8217;administrer la solution.<\/p>\n<p>Nous partons du fait que nous poss\u00e9dons d\u00e9j\u00e0 les installations suivantes pour ces 3 serveurs :<\/p>\n<pre><strong><span style=\"color: #ff0000;\">Serveur 1<\/span> : 1 serveur linux RHEL8 adresse IP 172.44.2.238 avec \r\n1 moteur Oracle 19c Standard Edition 2 et une base Oracle (non multitenant) install\u00e9e.\r\n<span style=\"color: #0000ff;\">Serveur 2<\/span> : 1 serveur linux RHEL8 adresse IP 172.44.2.204 avec \r\n1 moteur Oracle 19c Standard Edition 2 uniquement\r\n<span style=\"color: #008000;\">Serveur 3<\/span> : 1 serveur linux RHEL8\u00a0 adresse IP 172.44.2.170 \r\n(juste un user linux Oracle)<\/strong><\/pre>\n<p>&nbsp;<\/p>\n<h2>Pr\u00e9paration<\/h2>\n<p>Sur chaque serveur, il faudra aller t\u00e9l\u00e9charger depuis le site <a href=\"https:\/\/dbvisit.com\/our-solutions\/dbvisit-standby\">DBvisit standby<\/a> , la version souhait\u00e9e du produit. Pour notre exemple, nous partirons de la version 9.<\/p>\n<p>Attention, il faut savoir que DBVisit n&#8217;est pas &#8220;open source&#8221;, il s&#8217;agit d&#8217;un software soumis \u00e0 licence. Cependant, une version d&#8217;\u00e9valuation est t\u00e9l\u00e9chargeable depuis leur <a href=\"https:\/\/dbvisit.com\/trial\/dbvisit-standby\">site<\/a> , ainsi, nous pourrons utiliser celle ci durant 10 jours avec une cl\u00e9 de licence gratuite.<\/p>\n<p>DBVisit vous envoie un mail avec la version choisie en pi\u00e8ce jointe, et une cl\u00e9 d&#8217;activation.<\/p>\n<p>Il s&#8217;agira alors de transf\u00e9rer le fichier &#8220;zip&#8221; re\u00e7u par mail sur les 3 serveurs et de cr\u00e9er les r\u00e9pertoires utilis\u00e9s pour l&#8217;installation<\/p>\n<p>Sous user <strong><span style=\"color: #0000ff;\">root<\/span> <\/strong>:<\/p>\n<pre><strong>mkdir \/usr\/dbvisit<\/strong>\r\n<strong>chown -R oracle:oinstall \/usr\/dbvisit<\/strong><\/pre>\n<p>Sous user <span style=\"color: #ff0000;\"><strong>Oracle<\/strong> <\/span>:<\/p>\n<pre><strong>mkdir $HOME\/dbvisit_9<\/strong>\r\n<strong>cd $HOME\/dbvisit_9<\/strong>\r\n<strong>unzip dbvisit-standby9.0.20-el7.zip<\/strong>\r\n<strong>tar xvf dbvisit-standby9.0.20-el7.tar<\/strong><\/pre>\n<p>Si celle ci n&#8217;est pas pr\u00e9sente, installer la libraire &#8220;libnsl&#8221; sous <strong>root<\/strong>:<\/p>\n<pre><strong># dnf install libnsl\r\n<\/strong><\/pre>\n<h2><\/h2>\n<h2>Ouverture de flux<\/h2>\n<p>Si comme moi, vous travaillez sur des VMs Amazon AWS, pensez \u00e0 mettre \u00e0 jour vos &#8220;security group&#8221;. Pour fonctionner, DBvisit Standby a besoin des ports suivants:<\/p>\n<ul>\n<li>Port 7890, port utilis\u00e9 pour la communication &#8220;dbvnet&#8221; entre les 2 serveurs de bases de donn\u00e9es<\/li>\n<li>Port 7891, port utilis\u00e9 par les agents de DBVisit sur les serveurs de bases de donn\u00e9es<\/li>\n<li>Port 4433, port utilis\u00e9 pour se connecter \u00e0 la console DBVisit.<\/li>\n<\/ul>\n<div class=\"awsui-table-heading-container\">\n<div class=\"awsui-table-regions-container\">\n<div class=\"awsui-table-header\">\n<div class=\"awsui-util-container-header\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<p><strong>R\u00e8gles entrantes<\/strong><\/p>\n<table style=\"height: 285px;\" width=\"1044\">\n<thead>\n<tr>\n<td width=\"216\"><strong>Type<\/strong><\/td>\n<td width=\"137\"><strong>Protocole<\/strong><\/td>\n<td width=\"175\"><strong>Plage de ports<\/strong><\/td>\n<td width=\"193\"><strong>Source<\/strong><\/td>\n<td><strong>Description &#8211; facultatif<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>TCP personnalis\u00e9<\/td>\n<td>TCP<\/td>\n<td>4433<\/td>\n<td>172.44.1.***\/32<\/td>\n<td>Port pour tests DBVISIT console<\/td>\n<\/tr>\n<tr>\n<td>TCP personnalis\u00e9<\/td>\n<td>TCP<\/td>\n<td>7891<\/td>\n<td>172.44.2.0\/24<\/td>\n<td>Port pour tests DBVISIT local agent<\/td>\n<\/tr>\n<tr>\n<td>TCP personnalis\u00e9<\/td>\n<td>TCP<\/td>\n<td>7890<\/td>\n<td>172.44.2.0\/24<\/td>\n<td>Port pour tests DBVISIT distant<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><\/h2>\n<h2>D\u00e9ploiement<\/h2>\n<p>Installer tout d&#8217;abord le serveur portant la console sur 172.44.2.170 en lan\u00e7ant le binaire d&#8217;installation pr\u00e9sent dans &#8220;<strong>\/home\/oracle\/dbvisit_9\/dbvisit<\/strong>&#8220;<\/p>\n<p>Sous <span style=\"color: #ff0000;\">Oracle<\/span> :<\/p>\n<pre>$ cd \/home\/oracle\/dbvisit_9\/dbvisit\/installer\r\n$ ls -l\r\ntotal 5680\r\ndrwxr-xr-x. 2 oracle oinstall 25 Jan 11 23:06 doc\r\n-rwxr-xr-x. 1 oracle oinstall 5812566 Jan 11 23:10 install-dbvisit\r\n\r\n<\/pre>\n<p>Vous pouvez lancer simplement &#8220;.<strong>\/install-dbvisit<\/strong>&#8220;, l&#8217;installation se d\u00e9roulera alors en mode interactive et vous pourrez entrer les informations n\u00e9cessaires au cours de l&#8217;installation.<br \/>\nSinon vous pourrez directement installer DBVisit en mode silencieuse :<\/p>\n<pre><strong>$ .\/install-dbvisit --batch-install --force \\\r\n --dbvisit-base \/usr\/dbvisit \\\r\n --components dbvserver,observer \\<\/strong>\r\n<strong> --dbvserver-local-host 172.44.2.170 \\\r\n --dbvserver-local-port 4433<\/strong><\/pre>\n<p>Ici, nous installons les composants &#8220;dbserver&#8221; et &#8220;observer&#8221;. Votre log d&#8217;installation sur ce serveur doit contenir l&#8217;information suivante :<\/p>\n<pre>-----------------------------------------------------------\r\nSummary of the Dbvisit DBVSERVER configuration\r\n-----------------------------------------------------------\r\nDBVISIT_BASE \/usr\/dbvisit\r\nDBVSERVER_LOCAL_HOST 172.44.2.170\r\nDBVSERVER_LOCAL_PORT 4433\r\nDBVSERVER_PUBLIC_HOST 172.44.2.170\r\nDBVSERVER_PUBLIC_PORT 4433\r\n\r\n-----------------------------------------------------------\r\nSummary of the Dbvisit OBSERVER configuration\r\n-----------------------------------------------------------\r\nDBVISIT_BASE \/usr\/dbvisit<\/pre>\n<p>D\u00e9marrer ensuite les processus &#8220;dbserver&#8221; et &#8220;observer&#8221;<\/p>\n<pre><strong>$ <span style=\"color: #ff0000;\">\/usr\/dbvisit\/dbvserver\/dbvserver -d start<\/span>\r\nDbvserver daemon started.\r\n$ <span style=\"color: #ff0000;\">nohup \/usr\/dbvisit\/observer\/observersvc -f \/usr\/dbvisit\/observer\/conf\/observer.conf &amp;<\/span>\r\n[1] 9872\r\n$ nohup: ignoring input and appending output to 'nohup.out'<\/strong><\/pre>\n<p>&nbsp;<\/p>\n<p>Passer aux 2 serveurs de bases de donn\u00e9es.<\/p>\n<p><span style=\"color: #800080;\"><strong>Serveur bases de donn\u00e9es 1<\/strong> :<\/span><\/p>\n<pre>$ cd \/home\/oracle\/dbvisit_9\/dbvisit\/installer\r\n$ <strong>.\/install-dbvisit --batch-install --force \\\r\n --dbvisit-base \/usr\/dbvisit --components core \\\r\n<\/strong><strong> --dbvnet-local-host <span style=\"color: #0000ff;\">172.44.2.238<\/span> --dbvnet-local-port <span style=\"color: #0000ff;\">7890 \\\r\n<\/span><\/strong><strong> --dbvagent-webserver-host 172.44.2.170 \\\r\n --dbvagent-webserver-port 4433 --dbvnet-passphrase testcapdata \\\r\n --dbvagent-local-host <span style=\"color: #0000ff;\">172.44.2.238<\/span> \\<\/strong>\r\n<strong> --dbvagent-local-port <span style=\"color: #0000ff;\">7891<\/span> --dbvagent-passphrase testcapdata<\/strong><\/pre>\n<p>Nous venons d&#8217;installer le composant &#8220;core&#8221; qui comprend le &#8220;dbvnet&#8221; et &#8220;dbvagent&#8221;. La log d&#8217;installation donnera le tableau suivant :<\/p>\n<pre>-----------------------------------------------------------\r\nSummary of the Dbvisit DBVNET configuration\r\n-----------------------------------------------------------\r\nDBVISIT_BASE \/usr\/dbvisit\r\nDBVNET_LOCAL_HOST 172.44.2.238\r\nDBVNET_LOCAL_PORT 7890\r\nDBVNET_PASSPHRASE testcapdata \r\n-----------------------------------------------------------\r\nSummary of the Dbvisit DBVAGENT configuration\r\n-----------------------------------------------------------\r\nDBVISIT_BASE \/usr\/dbvisit\r\nDBVAGENT_LOCAL_HOST 172.44.2.238\r\nDBVAGENT_LOCAL_PORT 7891\r\nDBVAGENT_PASSPHRASE testcapdata\r\nDBVAGENT_WEBSERVER_HOST 172.44.2.170\r\nDBVAGENT_WEBSERVER_PORT 4433<\/pre>\n<p>On d\u00e9marre les processus une fois l&#8217;installation termin\u00e9e.<\/p>\n<pre><strong>$ <span style=\"color: #ff0000;\">\/usr\/dbvisit\/dbvnet\/dbvnet -d start<\/span>\r\nDbvnet daemon started.\r\n$ <span style=\"color: #ff0000;\">\/usr\/dbvisit\/dbvagent\/dbvagent -d start<\/span>\r\nDbvagent daemon started.<\/strong><\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #800080;\"><strong>Serveur bases de donn\u00e9es 2 :<\/strong><\/span><\/p>\n<pre>$ cd \/home\/oracle\/dbvisit_9\/dbvisit\/installer\r\n$ <strong>.\/install-dbvisit --batch-install --force \\\r\n --dbvisit-base \/usr\/dbvisit --components core \\\r\n --dbvnet-local-host <span style=\"color: #008000;\">172.44.2.204<\/span> --dbvnet-local-port <span style=\"color: #008000;\">7890 \\\r\n<\/span><\/strong><strong> --dbvagent-webserver-host 172.44.2.170 \\\r\n --dbvagent-webserver-port 4433 --dbvnet-passphrase testcapdata \\\r\n --dbvagent-local-host <span style=\"color: #008000;\">172.44.2.204<\/span> \\<\/strong>\r\n<strong> --dbvagent-local-port <span style=\"color: #008000;\">7891<\/span> --dbvagent-passphrase testcapdata\r\n\r\n<\/strong><\/pre>\n<p>Avec la log d&#8217;installation<\/p>\n<pre>-----------------------------------------------------------\r\nSummary of the Dbvisit DBVNET configuration\r\n-----------------------------------------------------------\r\nDBVISIT_BASE \/usr\/dbvisit\r\nDBVNET_LOCAL_HOST 172.44.2.204\r\nDBVNET_LOCAL_PORT 7890\r\nDBVNET_PASSPHRASE testcapdata\r\n\r\n-----------------------------------------------------------\r\nSummary of the Dbvisit DBVAGENT configuration\r\n-----------------------------------------------------------\r\nDBVISIT_BASE \/usr\/dbvisit\r\nDBVAGENT_LOCAL_HOST 172.44.2.204\r\nDBVAGENT_LOCAL_PORT 7891\r\nDBVAGENT_PASSPHRASE testcapdata\r\nDBVAGENT_WEBSERVER_HOST 172.44.2.170\r\nDBVAGENT_WEBSERVER_PORT 4433<\/pre>\n<p>&nbsp;<\/p>\n<p>D\u00e9marrer \u00e9galement les composants sur le noeud 2<\/p>\n<pre><strong>$ <span style=\"color: #ff0000;\">\/usr\/dbvisit\/dbvnet\/dbvnet -d start<\/span>\r\nDbvnet daemon started.\r\n$ <span style=\"color: #ff0000;\">\/usr\/dbvisit\/dbvagent\/dbvagent -d start<\/span>\r\nDbvagent daemon started<\/strong>.<\/pre>\n<p>&nbsp;<\/p>\n<h1>Configuration<\/h1>\n<p>&nbsp;<\/p>\n<p>La suite concernant la partie configuration se d\u00e9roulera depuis un navigateur Web. Nous nous connecterons directement sur l&#8217;URL de notre serveur ou est install\u00e9 la console via le port 4433 :<\/p>\n<p><a href=\"http:\/\/172.44.2.170:4433\">http:\/\/172.44.2.170:4433<\/a><\/p>\n<p>Le compte est, par d\u00e9faut, &#8220;admin&#8221;, password &#8220;admin&#8221;. Il faudra bien entendu le changer par mesure de s\u00e9curit\u00e9 pour une utilisation en mode production.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8586 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/Image1.png\" alt=\"\" width=\"605\" height=\"433\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/Image1.png 605w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/Image1-300x215.png 300w\" sizes=\"auto, (max-width: 605px) 100vw, 605px\" \/><\/p>\n<p>Une fois connect\u00e9, vous arrivez sur une page principale pr\u00e9sentant les diff\u00e9rentes options li\u00e9es au fonctionnement de DBVisit Standby.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8587 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/dbv_avant_create.png\" alt=\"\" width=\"605\" height=\"334\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/dbv_avant_create.png 605w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/dbv_avant_create-300x166.png 300w\" sizes=\"auto, (max-width: 605px) 100vw, 605px\" \/><\/p>\n<p>Seules les options &#8220;manage hosts&#8221; &#8220;manage users&#8221; et &#8220;user quick guides&#8221; sont accessibles.<\/p>\n<p>&nbsp;<\/p>\n<h3>Enregistrement des serveurs et instances<\/h3>\n<p>&nbsp;<\/p>\n<p>Pour cr\u00e9er notre configuration, nous irons sur &#8220;manage hosts&#8221;.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8588 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/dbv_avant_create2.png\" alt=\"\" width=\"605\" height=\"286\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/dbv_avant_create2.png 605w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/dbv_avant_create2-300x142.png 300w\" sizes=\"auto, (max-width: 605px) 100vw, 605px\" \/><br \/>\nPuis cliquer sur &#8220;+NEW&#8221;.<\/p>\n<p>Entrer les param\u00e8tres li\u00e9s \u00e0 notre base primaire tout d&#8217;abord, sur 172.44.2.238.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8589 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/dbv_create_prim.png\" alt=\"\" width=\"605\" height=\"219\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/dbv_create_prim.png 605w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/dbv_create_prim-300x109.png 300w\" sizes=\"auto, (max-width: 605px) 100vw, 605px\" \/><\/p>\n<p>Puis la standby sur 172.44.2.204<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8590 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/dbv_create_stby.png\" alt=\"\" width=\"605\" height=\"230\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/dbv_create_stby.png 605w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/dbv_create_stby-300x114.png 300w\" sizes=\"auto, (max-width: 605px) 100vw, 605px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Pour la passphrase, nous avions mis &#8220;testcapdata&#8221;. Il faudra renseigner celle ci pour chaque instance.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8593 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/resume_bdd.png\" alt=\"\" width=\"605\" height=\"147\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/resume_bdd.png 605w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/resume_bdd-300x73.png 300w\" sizes=\"auto, (max-width: 605px) 100vw, 605px\" \/><\/p>\n<p>Les 2 serveurs sont maintenant enregistr\u00e9s sur notre console d&#8217;administration. Il reste \u00e0 configurer notre r\u00e9plication.<\/p>\n<p>En revenant sur l&#8217;\u00e9cran principal des options, on peut voir que l&#8217;option &#8220;Manage Configuration&#8221; est pass\u00e9e active.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-8594\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/manage_conf-300x232.png\" alt=\"\" width=\"300\" height=\"232\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/manage_conf-300x232.png 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/manage_conf.png 424w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Nous ajouterons les bases de donn\u00e9es li\u00e9es \u00e0 nos 2 serveurs en cliquant sur &#8220;+NEW&#8221;.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8595 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/add_bdd.png\" alt=\"\" width=\"605\" height=\"236\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/add_bdd.png 605w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/add_bdd-300x117.png 300w\" sizes=\"auto, (max-width: 605px) 100vw, 605px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Tout d&#8217;abord enregistrer le serveur h\u00e9bergeant l&#8217;instance primaire, ici 172.44.2.238<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8637 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/config_source.jpg\" alt=\"\" width=\"715\" height=\"169\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/config_source.jpg 715w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/config_source-300x71.jpg 300w\" sizes=\"auto, (max-width: 715px) 100vw, 715px\" \/><\/p>\n<p>Il faudra accepter la licence d&#8217;utilisation pour l&#8217;\u00e9tape 2. L&#8217;\u00e9tape 3 consistera \u00e0 entre le nom de l&#8217;instance SOURCE. Attention \u00e0 bien configurer les informations li\u00e9s aux archivelogs et au port de communication &#8216;dbvnet&#8217;<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8638 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/config_instance_source.jpg\" alt=\"\" width=\"687\" height=\"353\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/config_instance_source.jpg 687w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/config_instance_source-300x154.jpg 300w\" sizes=\"auto, (max-width: 687px) 100vw, 687px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Puis l&#8217;on passe \u00e0 la partie instance standby, avec le choix du serveur, de l&#8217;instance , le ORACLE_HOME, le SID et le chemin des archives<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8639 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/config_standby.jpg\" alt=\"\" width=\"691\" height=\"710\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/config_standby.jpg 691w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/config_standby-292x300.jpg 292w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/config_standby-50x50.jpg 50w\" sizes=\"auto, (max-width: 691px) 100vw, 691px\" \/><\/p>\n<p>Cliquer sur <strong><span style=\"color: #00ccff;\">SUBMIT<\/span><\/strong> pour valider cette configuration<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8640 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/config_OK.jpg\" alt=\"\" width=\"1016\" height=\"114\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/config_OK.jpg 1016w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/config_OK-300x34.jpg 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/config_OK-768x86.jpg 768w\" sizes=\"auto, (max-width: 1016px) 100vw, 1016px\" \/><\/p>\n<p>Retourner au menu, et il sera maintenant possible de cr\u00e9er notre instance Standby.<br \/>\nMais avant cela, il faut enregistrer notre licence du produit.<\/p>\n<p>Rappelons que pour nos tests, nous b\u00e9n\u00e9ficions d&#8217;un version d&#8217;essai de 10 jours, notre cl\u00e9 nous a \u00e9t\u00e9 envoy\u00e9 par mail avec le &#8220;zip&#8221; d&#8217;installation.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-8643\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/licence_key.jpg\" alt=\"\" width=\"176\" height=\"185\" \/>\u00a0 \u00a0 \u00a0 \u00a0 <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-8645\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/enter_licence-1-300x137.jpg\" alt=\"\" width=\"300\" height=\"137\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/enter_licence-1-300x137.jpg 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/enter_licence-1.jpg 627w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/>\u00a0 puis entrez votre num\u00e9ro de cl\u00e9 et valider.<img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8646\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/licence_success.jpg\" alt=\"\" width=\"216\" height=\"65\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3>Cr\u00e9ation de la base standby<\/h3>\n<p>Dans le menu principal, rep\u00e9rer l&#8217;option ci dessous :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-8641\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/create_stby.jpg\" alt=\"\" width=\"194\" height=\"205\" \/>\u00a0 \u00a0 \u00a0 \u00a0Rappelons que notre serveur de secours n&#8217;a aucune instance d&#8217;install\u00e9e, juste un moteur Oracle identique \u00e0 notre primaire.<\/p>\n<p>&nbsp;<\/p>\n<p>Les informations li\u00e9es \u00e0 l&#8217;instance source devront \u00eatre renseign\u00e9es<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8647 \" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/create_stby_source.jpg\" alt=\"\" width=\"741\" height=\"228\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/create_stby_source.jpg 1011w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/create_stby_source-300x92.jpg 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/create_stby_source-768x236.jpg 768w\" sizes=\"auto, (max-width: 741px) 100vw, 741px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Les param\u00e8tres Oracle de la source nous sont remont\u00e9s<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8648 \" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/parameters_source.jpg\" alt=\"\" width=\"782\" height=\"406\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/parameters_source.jpg 1022w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/parameters_source-300x156.jpg 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/parameters_source-768x399.jpg 768w\" sizes=\"auto, (max-width: 782px) 100vw, 782px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>A partir de ces informations, l&#8217;assistant de cr\u00e9ation va pouvoir mettre en place la standby.<br \/>\nDBVisit utilise pour cela les montages &#8220;<strong>\/usr\/tmp<\/strong>&#8221; pour effectuer un backup RMAN. V\u00e9rifier que vous ayez assez de place dans ces FS. C&#8217;est un backup RMAN de la primaire qui sera fait, puis transf\u00e9rer vers le serveur de la standby, et enfin, restaurer via un DUPLICATE FOR STANDBY pour cr\u00e9er la base de standby.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8649 \" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/stby_create.jpg\" alt=\"\" width=\"684\" height=\"239\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/stby_create.jpg 827w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/stby_create-300x105.jpg 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/stby_create-768x268.jpg 768w\" sizes=\"auto, (max-width: 684px) 100vw, 684px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Cliquer sur <strong><span style=\"color: #00ccff;\">SUBMIT<\/span> <\/strong>pour lancer la cr\u00e9ation de la standby.<\/p>\n<p>Vous pourrez suivre la cr\u00e9ation de votre instance standby dans l&#8217;onglet &#8220;View Task History&#8221;.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8650 \" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/verif_create_stby_1.jpg\" alt=\"\" width=\"884\" height=\"383\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/verif_create_stby_1.jpg 1006w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/verif_create_stby_1-300x130.jpg 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/verif_create_stby_1-768x333.jpg 768w\" sizes=\"auto, (max-width: 884px) 100vw, 884px\" \/><\/p>\n<p>Avec en fin de log :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8651 \" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/verif_create_stby_fin.jpg\" alt=\"\" width=\"469\" height=\"186\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/verif_create_stby_fin.jpg 509w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/verif_create_stby_fin-300x119.jpg 300w\" sizes=\"auto, (max-width: 469px) 100vw, 469px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Ca y&#8217;est vous avez une base de donn\u00e9es standby configur\u00e9e.<\/p>\n<p>\ud83d\ude42<\/p>\n<p>&nbsp;<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p>\n<p>&nbsp;<\/p>\n<h1>Administration<\/h1>\n<p>Voici une pr\u00e9sentation non exhaustive des t\u00e2ches que nous pouvons effectuer sur la console Web afin d&#8217;administrer notre r\u00e9plication. DBVisit fournit un petit utilitaire bien pratique qui effectue les t\u00e2ches ci dessous en mode lignes de commandes, il s&#8217;agit de &#8220;dbvctl&#8221;. Celui ci est pr\u00e9sent sur les 3 serveurs.<\/p>\n<h2>G\u00e9rer les process de surveillance<\/h2>\n<p>Afin de s&#8217;assurer que les ordres passent bien entre notre serveur primaire et le serveur standby, il faut penser \u00e0 d\u00e9marrer les daemon qui communiquent entre les &#8220;dbvnet&#8221; des serveurs.<\/p>\n<p>Aller dans &#8220;Database Configuration&#8221; et choisir le daemon \u00e0 d\u00e9marrer si celui ci est arret\u00e9.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8596 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/database_config_daemon.jpg\" alt=\"\" width=\"617\" height=\"219\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/database_config_daemon.jpg 617w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/database_config_daemon-300x106.jpg 300w\" sizes=\"auto, (max-width: 617px) 100vw, 617px\" \/>\u00a0 Puis &#8220;START&#8221;\u00a0 \u00a0 \u00a0 \u00a0 \u00a0<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-8597\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/daemon_start-300x172.jpg\" alt=\"\" width=\"300\" height=\"172\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/daemon_start-300x172.jpg 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/daemon_start.jpg 424w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Faire de m\u00eame pour le serveur standby &#8220;172.44.2.204&#8221;.<\/p>\n<p>Avec &#8220;dbvctl&#8221;, il faudra lancer, sur le serveur primaire et le serveur standby,\u00a0 la commande :<\/p>\n<pre><span style=\"color: #333399;\">$ \/usr\/dbvisit\/standby\/dbvctl -d MANUDB -D start<\/span><\/pre>\n<p>&nbsp;<\/p>\n<h2>G\u00e9rer le redo apply<\/h2>\n<p>Sur la page &#8220;Database Actions&#8221;, il sera possible d&#8217;avoir de nombreuses informations sur l&#8217;\u00e9tat de notre r\u00e9plication.<\/p>\n<h4><em>Report gap<\/em><\/h4>\n<p>Nous pourrons voir notamment le d\u00e9lai entre notre primaire et notre standby, un tableau pourra \u00eatre \u00e9dit\u00e9 avec l&#8217;option &#8220;log gap report&#8221;.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8600 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/log_gap_report.jpg\" alt=\"\" width=\"877\" height=\"105\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/log_gap_report.jpg 877w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/log_gap_report-300x36.jpg 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/log_gap_report-768x92.jpg 768w\" sizes=\"auto, (max-width: 877px) 100vw, 877px\" \/><\/p>\n<p>Puis<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8601 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/gap_report.jpg\" alt=\"\" width=\"422\" height=\"292\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/gap_report.jpg 422w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/gap_report-300x208.jpg 300w\" sizes=\"auto, (max-width: 422px) 100vw, 422px\" \/><\/p>\n<p>Il sera possible d&#8217;actionner manuellement l&#8217;envoi de log via l&#8217;option &#8220;send logs&#8221;, puis appliquer le log envoy\u00e9 via l&#8217;option &#8220;Apply log&#8221;<\/p>\n<p>&nbsp;<\/p>\n<h4><em>Send logs<\/em><\/h4>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8602 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/send_logs.jpg\" alt=\"\" width=\"863\" height=\"110\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/send_logs.jpg 863w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/send_logs-300x38.jpg 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/send_logs-768x98.jpg 768w\" sizes=\"auto, (max-width: 863px) 100vw, 863px\" \/><\/p>\n<p>Avec un report associ\u00e9, cliquer dans l&#8217;option &#8220;View task History&#8221; en base \u00e0 gauche\u00a0 <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-8603\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/task_history.jpg\" alt=\"\" width=\"231\" height=\"116\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8604 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/send_log_report.jpg\" alt=\"\" width=\"569\" height=\"231\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/send_log_report.jpg 569w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/send_log_report-300x122.jpg 300w\" sizes=\"auto, (max-width: 569px) 100vw, 569px\" \/><\/p>\n<p>Avec &#8220;dbvctl&#8221;, lancer la commande suivante :<\/p>\n<p>&nbsp;<\/p>\n<pre><span style=\"color: #333399;\">$ \/usr\/dbvisit\/standby\/dbvctl -d MANUDB<\/span><\/pre>\n<p>&nbsp;<\/p>\n<h4><em>Apply logs<\/em><\/h4>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8605 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/apply_logs.jpg\" alt=\"\" width=\"893\" height=\"110\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/apply_logs.jpg 893w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/apply_logs-300x37.jpg 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/apply_logs-768x95.jpg 768w\" sizes=\"auto, (max-width: 893px) 100vw, 893px\" \/><\/p>\n<p>Avec un report que nous pourrons \u00e9diter<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8606 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/apply_log_report.jpg\" alt=\"\" width=\"564\" height=\"243\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/apply_log_report.jpg 564w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/apply_log_report-300x129.jpg 300w\" sizes=\"auto, (max-width: 564px) 100vw, 564px\" \/><\/p>\n<p>Avec &#8220;dbvctl&#8221;, lancer la commande suivante :<\/p>\n<p>&nbsp;<\/p>\n<pre><span style=\"color: #333399;\">$ \/usr\/dbvisit\/standby\/dbvctl -d MANUDB<\/span><\/pre>\n<p>&nbsp;<\/p>\n<h2>G\u00e9rer l&#8217;\u00e9tat des bases de donn\u00e9es<\/h2>\n<p>Il sera \u00e9galement possible d&#8217;agir directement sur les bases de donn\u00e9es dans &#8220;Database Actions&#8221;.<br \/>\nEn cliquant sur l&#8217;ic\u00f4ne &#8220;Database Actions&#8221; ,nous aurez le choix d&#8217;agir sur la base primaire ainsi que sur la standby avec les actions suivantes :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8607 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/db_actions_pres.jpg\" alt=\"\" width=\"1017\" height=\"200\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/db_actions_pres.jpg 1017w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/db_actions_pres-300x59.jpg 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/db_actions_pres-768x151.jpg 768w\" sizes=\"auto, (max-width: 1017px) 100vw, 1017px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Sur l&#8217;instance <strong><span style=\"color: #339966;\">primaire<\/span><\/strong>, vous pourrez <strong>red\u00e9marrer<\/strong>, <strong>d\u00e9marrer<\/strong> ou <strong>arr\u00eater<\/strong> la base :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8608 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/db_action_prim.jpg\" alt=\"\" width=\"734\" height=\"209\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/db_action_prim.jpg 734w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/db_action_prim-300x85.jpg 300w\" sizes=\"auto, (max-width: 734px) 100vw, 734px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Avec &#8220;dbvctl&#8221;, lancer l&#8217;une des commandes suivantes sur le serveur primaire :<\/p>\n<p>&nbsp;<\/p>\n<pre><span style=\"color: #333399;\">$ \/usr\/dbvisit\/standby\/dbvctl -d MANUDB -o restart\r\n$ \/usr\/dbvisit\/standby\/dbvctl -d MANUDB -o start\r\n$ \/usr\/dbvisit\/standby\/dbvctl -d MANUDB -o stop<\/span><\/pre>\n<p>&nbsp;<\/p>\n<p>Sur la <span style=\"color: #0000ff;\"><strong>standby<\/strong><\/span>, vous pourrez la <strong>red\u00e9marrer<\/strong>, la <strong>d\u00e9marrer<\/strong>, <strong>l&#8217;arr\u00eater<\/strong> ou bien la passer en mode &#8220;<strong>read only<\/strong>&#8221; et passer des requ\u00eates SELECT dessus.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8609 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/db_action_stby.jpg\" alt=\"\" width=\"702\" height=\"221\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/db_action_stby.jpg 702w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/db_action_stby-300x94.jpg 300w\" sizes=\"auto, (max-width: 702px) 100vw, 702px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Avec &#8220;dbvctl&#8221;, lancer l&#8217;une des commandes suivantes sur le serveur standby :<\/p>\n<p>&nbsp;<\/p>\n<pre><span style=\"color: #333399;\">$ \/usr\/dbvisit\/standby\/dbvctl -d MANUDB -o restart\r\n$ \/usr\/dbvisit\/standby\/dbvctl -d MANUDB -o start\r\n$ \/usr\/dbvisit\/standby\/dbvctl -d MANUDB -o stop\r\n$ \/usr\/dbvisit\/standby\/dbvctl -d MANUDB -o open (pour le mode READ-ONLY)\r\n\r\n\r\n<\/span><\/pre>\n<h2>Switchover<\/h2>\n<p>Il sera possible de proc\u00e9der \u00e0 un switchover d&#8217;instances pour cette configuration :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-8610\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/swicth.jpg\" alt=\"\" width=\"178\" height=\"193\" \/><\/p>\n<p>Choisir la configuration en cours, un r\u00e9capitulatif est alors envoy\u00e9 directement. Nous avons l&#8217;information sur l&#8217;\u00e9tat de notre r\u00e9plication et notamment le gap entre les 2 instances.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8611 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/switch_recap.jpg\" alt=\"\" width=\"1021\" height=\"468\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/switch_recap.jpg 1021w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/switch_recap-300x138.jpg 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/switch_recap-768x352.jpg 768w\" sizes=\"auto, (max-width: 1021px) 100vw, 1021px\" \/><\/p>\n<p>Comme on peut le voir dans le log de l&#8217;observer, il faut arreter les daemon qui tournent sur les serveurs avant de faire le switchover. Nous pouvons le faire directement dans &#8220;Database Actions&#8221;, et choisir &#8220;Daemon actions&#8221; ou bien passer la commande suivante sur les 2 serveurs :<\/p>\n<pre><span style=\"color: #333399;\">$ \/usr\/dbvisit\/standby\/dbvctl -d MANUDB -D stop\r\nStopping Dbvisit Daemon...\r\nSuccessfully stopped.\r\n<\/span><\/pre>\n<p>&nbsp;<\/p>\n<p>Puis cliquer sur <strong><span style=\"color: #00ccff;\">SUBMIT<\/span><\/strong>. Un rapport complet pourra \u00eatre \u00e9dit\u00e9 dans le &#8220;View Task History&#8221; :<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8614 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/switch_report-1.jpg\" alt=\"\" width=\"508\" height=\"492\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/switch_report-1.jpg 508w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/switch_report-1-300x291.jpg 300w\" sizes=\"auto, (max-width: 508px) 100vw, 508px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Connectez vous aux serveurs et interroger les bases pour vous assurer que tout a bien switch\u00e9<\/p>\n<pre>SQL&gt; select i.INSTANCE_NAME,i.HOST_NAME,d.name,d.database_role from v$instance i inner join v$database d on (i.instance_name=d.name);\r\n\r\nINSTANCE_NAME    HOST_NAME                          NAME      DATABASE_ROLE\r\n---------------- ---------------------------------- --------- ----------------\r\nMANUDB           ip-172-44-2-204.capdata-aws.fr     MANUDB    PRIMARY<\/pre>\n<p>et<\/p>\n<pre>SQL&gt; select i.INSTANCE_NAME,i.HOST_NAME,d.name,d.database_role from v$instance i inner join v$database d on (i.instance_name=d.name);\r\n\r\nINSTANCE_NAME    HOST_NAME                         NAME      DATABASE_ROLE\r\n---------------- --------------------------------- --------- ----------------\r\nMANUDB           ip-172-44-2-238.capdata-aws.fr    MANUDB    PHYSICAL STANDBY\r\n<\/pre>\n<p>L&#8217;instance est primaire maintenant sur 172.44.2.204 et standby sur 172.44.2.238.<\/p>\n<p>Avec &#8220;dbvctl&#8221;,\u00a0 la commande est la suivante sur l&#8217;un des 2 serveurs :<\/p>\n<p>&nbsp;<\/p>\n<pre><span style=\"color: #333399;\">$ \/usr\/dbvisit\/standby\/dbvctl -d MANUDB -o switchover<\/span><\/pre>\n<h2><\/h2>\n<h2>Automatic Failover<\/h2>\n<p>Il est possible de configurer un failover automatique gr\u00e2ce \u00e0 notre process &#8220;dbvobserver&#8221;. Ce process se charge d&#8217;effectuer un failover vers l&#8217;instance de standby si la primaire venait \u00e0 devenir injoignable.<\/p>\n<p>Aller dans l&#8217;option &#8220;Manage Configurations&#8221; et ajouter l&#8217;observer.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8652 \" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/observer_add.jpg\" alt=\"\" width=\"780\" height=\"144\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/observer_add.jpg 877w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/observer_add-300x55.jpg 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/observer_add-768x142.jpg 768w\" sizes=\"auto, (max-width: 780px) 100vw, 780px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Nous avons install\u00e9 l&#8217;observer sur le m\u00eame serveur que la console Web, soit 172.44.2.170, renseigner \u00e9galement la passphrase.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8653 \" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/observer_conf.jpg\" alt=\"\" width=\"927\" height=\"61\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/observer_conf.jpg 1018w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/observer_conf-300x20.jpg 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/03\/observer_conf-768x51.jpg 768w\" sizes=\"auto, (max-width: 927px) 100vw, 927px\" \/><\/p>\n<p>Clique sur SAVE pour enregistrer la configuration.<\/p>\n<p>Il sera \u00e9galement possible de forcer un failover vers la standby avec &#8220;dbvctl&#8221;,\u00a0 il suffira d&#8217;ex\u00e9cuter la commande suivante sur le serveur de standby :<\/p>\n<p>&nbsp;<\/p>\n<pre><span style=\"color: #333399;\">$ \/usr\/dbvisit\/standby\/dbvctl -d MANUDB -o activate<\/span><\/pre>\n<p>&nbsp;<\/p>\n<h1>Les diff\u00e9rentes logs<\/h1>\n<p>Sur chacun des serveurs Linux, vous pourrez trouver les logs des diff\u00e9rents composants sous des r\u00e9pertoires suivants.<\/p>\n<p>Les traces li\u00e9s aux processus DBVisit<\/p>\n<pre>[oracle@ip-172-44-2-238 dbvisit]$ ls -lrt\r\ntotal 0\r\ndrwxr-xr-x. 5 oracle oinstall 54 Mar 30 09:38 dbvnet\r\ndrwxr-xr-x. 6 oracle oinstall 67 Mar 30 09:38 dbvagent\r\ndrwxr-xr-x. 14 oracle oinstall 203 Mar 30 09:55 standby<\/pre>\n<p>&nbsp;<\/p>\n<p>Si l&#8217;on prend l&#8217;exemple de la partie standby, le r\u00e9pertoire &#8220;<span style=\"color: #0000ff;\"><strong>trace<\/strong><\/span>&#8221; regroupe les processus syst\u00e8mes propres<\/p>\n<pre>[oracle@ip-172-44-2-238 trace]$ pwd\r\n<strong>\/usr\/dbvisit\/standby\/trace<\/strong>\r\n[oracle@ip-172-44-2-238 trace]$ ls -rtl\r\ntotal 17840\r\n........\r\n-rw-rw-rw-. 1 oracle oinstall 54916 Mar 31 15:30 4115_dbvctl_i_MANUDB_202103311530.trc\r\n-rw-rw-rw-. 1 oracle oinstall 54916 Mar 31 15:30 4139_dbvctl_i_MANUDB_202103311530.trc\r\n-rw-rw-rw-. 1 oracle oinstall 54916 Mar 31 15:31 4163_dbvctl_i_MANUDB_202103311530.trc\r\n-rw-rw-rw-. 1 oracle oinstall 50877 Mar 31 15:31 4193_dbvctl_switchover_MANUDB_202103311531.trc\r\n-rw-rw-rw-. 1 oracle oinstall 54916 Mar 31 15:33 4221_dbvctl_i_MANUDB_202103311533.trc\r\n-rw-rw-rw-. 1 oracle oinstall 35823 Mar 31 15:40 4847_dbvctl_f_recovery_scn_time_MANUDB_202103311540.trc\r\n-rw-rw-rw-. 1 oracle oinstall 238757 Mar 31 15:40 4893_dbvctl_MANUDB_202103311540.trc\r\n-rw-rw-rw-. 1 oracle oinstall 333410 Mar 31 15:40 4257_dbvctl_switchover_MANUDB_202103311536.trc<\/pre>\n<p>&nbsp;<\/p>\n<p>Nous pourrons alors regarder toutes les actions men\u00e9es par la console, et avoir des informations sur les t\u00e2ches qui ont \u00e9ventuellement \u00e9chou\u00e9es.<\/p>\n<p>Dans le r\u00e9pertoire &#8220;<span style=\"color: #0000ff;\"><strong>Log<\/strong><\/span>&#8221; nous suivrons les actions men\u00e9es sur la base en elle m\u00eame.<\/p>\n<pre>[oracle@ip-172-44-2-238 log]$ pwd\r\n<strong>\/usr\/dbvisit\/standby\/log<\/strong>\r\n[oracle@ip-172-44-2-238 log]$ ls -rtl\r\ntotal 1104\r\n-rw-rw-rw-. 1 oracle oinstall 87968 Mar 30 09:55 dbvisit_install.log\r\n-rw-rw-rw-. 1 oracle oinstall 0 Mar 30 09:56 dbvisit_MANUDB_arch_management.log\r\n-rw-rw-rw-. 1 oracle oinstall 432 Mar 30 09:59 DBV_MANUDB_CSD_db_file_info.txt\r\n-rw-rw-rw-. 1 oracle oinstall 12 Mar 31 09:25 dbv_heartbeat_MANUDB.lck\r\n-rw-rw-rw-. 1 oracle oinstall 994080 Mar 31 15:33 dbvisitd_MANUDB.log\r\n-rw-rw-rw-. 1 oracle oinstall 812 Mar 31 15:40 datafiles_MANUDB.json\r\n-rw-rw-rw-. 1 oracle oinstall 313 Mar 31 15:40 dbv_MANUDB_info.json\r\n-rw-rw-rw-. 1 oracle oinstall 25263 Mar 31 15:40 dbvisit_MANUDB.hist<\/pre>\n<p>Dans le fichier &#8220;<strong><span style=\"color: #0000ff;\">dbvisitd_MANUDB.log<\/span><\/strong>&#8220;, nous pourrons suivre le processus de log apply sur notre standby.<\/p>\n<p>Exemple, on passe un switch de log sur la base primaire :<\/p>\n<pre>[oracle@ip-172-44-2-204 log]$ sqlplus \/ as sysdba\r\n\r\nSQL&gt; alter system switch logfile;\r\n\r\nSystem altered.\r\n\r\nSQL&gt; select status, sequence# from v$log;\r\n\r\nSTATUS           SEQUENCE#\r\n---------------- ----------\r\nACTIVE           108\r\nACTIVE           107\r\nCURRENT          109<\/pre>\n<p>&nbsp;<\/p>\n<p>Puis sur la standby, si l&#8217;on suit la log\u00a0 :<\/p>\n<pre>[oracle@ip-172-44-2-238 log]$ tail -5f dbvisitd_MANUDB.log\r\n20210331 16:03:09 main::dmn_worker: Command=RUN_MONITOR\r\n20210331 16:03:09 main::try {...} : Newlogs=0 (Next required log 1_108_1068477110.arc not found)\r\n20210331 16:03:15 main::dmn_worker: Command=RUN_MONITOR\r\n20210331 16:03:15 main::try {...} : Newlogs=1\r\n20210331 16:03:16 main::dmn_worker: Command=RUN_DBVISIT\r\n20210331 16:03:16 main::dmn_check_ddc4changes: start\r\n20210331 16:03:16 main::cmn_checksum: file=\/usr\/dbvisit\/standby\/conf\/dbv_MANUDB.env\r\n20210331 16:03:16 main::cmn_checksum: use internal cksum\r\n20210331 16:03:16 main::cmn_checksum: use SHA1\r\n20210331 16:03:16 main::cmn_checksum: crc=06a881bda229864cdeead13bfa7b1d710b31f430 len=25361 exitval=0 file=\/usr\/dbvisit\/standby\/conf\/dbv_MANUDB.env\r\n<span style=\"color: #ff0000;\"><strong>20210331 16:03:17 main::dmn_worker: Next log to apply: thread 1 sequence 109<\/strong><\/span>\r\n20210331 16:03:18 main::dmn_run: TRACEFILE 5080_3_2_dbvctl_MANUDB_202103311603.trc\r\n20210331 16:03:21 main::dmn_worker: Command=RUN_MONITOR\r\n\r\n<\/pre>\n<p>On voit bien le switch qui se fait vers la s\u00e9quence num\u00e9ro <strong>109<\/strong>.<\/p>\n<p>Un checksum se fait via la fonction de hashage SHA1 lors du transport de log. Celle ci n&#8217;est, aujourd&#8217;hui, pas la plus s\u00e9curis\u00e9e, la version 10 de DBVisit propose peut \u00eatre du SHA256 voir SHA384&#8230;. A voir.<\/p>\n<h2>La gestion des datafiles<\/h2>\n<p>DBVisit prend en compte la gestion des datafiles sur notre instance standby, m\u00eame si le param\u00e8tre &#8216;STANDBY_FILE_MANAGEMENT&#8217; est configur\u00e9 \u00e0 MANUAL.<\/p>\n<p>Exemple.<\/p>\n<p>Interrogeons les datafiles composant le tablespace DATA sur la base primaire et la standby.<br \/>\nNotre tablespace DATA se compose de 2 fichiers.<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #800080;\"><strong>Primaire :<\/strong><\/span><\/p>\n<pre>SQL&gt; select file_name, status from dba_data_files where tablespace_name ='DATA';\r\n\r\nFILE_NAME STATUS\r\n------------------------------------------------------- ---------\r\n\/data\/oradata\/MANUDB\/datafile\/o1_mf_data_j65xs6jk_.dbf AVAILABLE\r\n\/data\/oradata\/MANUDB\/datafile\/o1_mf_data_j690qcov_.dbf AVAILABLE<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #800080;\"><strong>Standby:<\/strong><\/span><\/p>\n<pre>SQL&gt; select name, status from v$datafile where ts#=6\u00a0;\r\n\r\nNAME STATUS\r\n------------------------------------------------------- -------\r\n\/data\/oradata\/MANUDB\/datafile\/o1_mf_data_j690plft_.dbf ONLINE\r\n\/data\/oradata\/MANUDB\/datafile\/o1_mf_data_j63w7wh9_.dbf ONLINE<\/pre>\n<p>&nbsp;<\/p>\n<p>Notons que nous utilisons OMF pour la gestion de nos datafiles, les noms ne sont donc pas identiques. Le param\u00e8tre STANDBY_FILE_MANAGEMENT est \u00e0 MANUAL.<\/p>\n<p>&nbsp;<\/p>\n<pre>SQL&gt; show parameters standby_file\r\n\r\nNAME                                 TYPE        VALUE\r\n------------------------------------ ----------- ------------------------------\r\nstandby_file_management              string      MANUAL<\/pre>\n<p>&nbsp;<\/p>\n<p>Et pourtant si l&#8217;on cr\u00e9e un 3e fichier sur la base primaire :<\/p>\n<p>&nbsp;<\/p>\n<pre>SQL&gt; alter tablespace DATA add datafile size 50M autoextend on maxsize 100M;\r\n\r\nTablespace altered.\r\n\r\nSQL&gt; select file_name, status from dba_data_files where tablespace_name ='DATA';\r\n\r\nFILE_NAME STATUS\r\n------------------------------------------------------- ---------\r\n\/data\/oradata\/MANUDB\/datafile\/o1_mf_data_j65xs6jk_.dbf AVAILABLE\r\n\/data\/oradata\/MANUDB\/datafile\/o1_mf_data_j690qcov_.dbf AVAILABLE\r\n\/data\/oradata\/MANUDB\/datafile\/o1_mf_data_j699cj5r_.dbf AVAILABLE\r\n\r\n\r\nSQL&gt; alter system switch logfile;\r\n\r\nSystem altered.<\/pre>\n<p>On s&#8217;assure que l&#8217;ordre de switch de log est pass\u00e9 sur la standby :<\/p>\n<pre>[oracle@ip-172-44-2-238 log]$ tail -5f dbvisitd_MANUDB.log\r\n.....\r\n20210331 16:38:45 main::dmn_worker: Command=RUN_MONITOR\r\n20210331 16:38:45 main::try {...} : Newlogs=0 (Next required log 1_112_1068477110.arc not found)\r\n20210331 16:38:51 main::dmn_worker: Command=RUN_MONITOR\r\n20210331 16:38:51 main::try {...} : Newlogs=0 (Next required log 1_112_1068477110.arc not found)\r\n20210331 16:38:57 main::dmn_worker: Command=RUN_MONITOR\r\n20210331 16:38:57 main::try {...} : Newlogs=1\r\n20210331 16:38:58 main::dmn_worker: Command=RUN_DBVISIT\r\n20210331 16:38:58 main::dmn_check_ddc4changes: start\r\n20210331 16:38:58 main::cmn_checksum: file=\/usr\/dbvisit\/standby\/conf\/dbv_MANUDB.env\r\n20210331 16:38:58 main::cmn_checksum: use internal cksum\r\n20210331 16:38:58 main::cmn_checksum: use SHA1\r\n20210331 16:38:58 main::cmn_checksum: crc=06a881bda229864cdeead13bfa7b1d710b31f430 len=25361 exitval=0 file=\/usr\/dbvisit\/standby\/conf\/dbv_MANUDB.env\r\n<span style=\"color: #ff0000;\"><strong>20210331 16:38:59 main::dmn_worker: Next log to apply: thread 1 sequence 113<\/strong><\/span>\r\n20210331 16:38:59 main::dmn_run: TRACEFILE 5080_3_9_dbvctl_MANUDB_202103311638.trc\r\n20210331 16:39:03 main::dmn_worker: Command=RUN_MONITOR\r\n20210331 16:39:03 main::try {...} : Newlogs=0 (Next required log 1_113_1068477110.arc not found)\r\n20210331 16:39:09 main::dmn_worker: Command=RUN_MONITOR\r\n20210331 16:39:09 main::try {...} : Newlogs=0 (Next required log 1_113_1068477110.arc not found)<\/pre>\n<p>&nbsp;<\/p>\n<p>Et on interroge l&#8217;instance de standby<\/p>\n<pre>SQL&gt; select name, bytes\/1024\/1024 \"Size\", status from v$datafile where ts#=6;\r\n\r\nNAME Size STATUS\r\n------------------------------------------------------- ---------- -------\r\n\/data\/oradata\/MANUDB\/datafile\/o1_mf_data_j690plft_.dbf   50        ONLINE\r\n\/data\/oradata\/MANUDB\/datafile\/o1_mf_data_j63w7wh9_.dbf   100       ONLINE\r\n\/data\/oradata\/MANUDB\/datafile\/o1_mf_data_j699f33l_.dbf   50        ONLINE<\/pre>\n<p>&nbsp;<\/p>\n<p>Notre 3e fichier, avec une taille de 50Mo, est bien cr\u00e9\u00e9 pour le tablespace DATA, statut ONLINE.<\/p>\n<p>&nbsp;<\/p>\n<h1>Quelques remarques<\/h1>\n<p>Comme tout outil tiers travaillant avec un \u00e9diteur, cette solution a des limites.<\/p>\n<ul>\n<li>M\u00eame si DBVisit fournit un outil en lignes de commande &#8220;dbvctl&#8221;, celui ci reste limit\u00e9 vis \u00e0 vis de ce que peut effectuer la console Web. Il est donc indispensable de g\u00e8rer ce 3e serveur qui fait office d&#8217;outil graphique \u00e0 cette solution Disaster Recovery.<br \/>\nLe scripting shell est cependant possible pour une administration au quotidien avec &#8220;dbvctl&#8221;.<\/li>\n<li>Au niveau tarification, c&#8217;est assez opaque, rien n&#8217;est mentionn\u00e9 sur le site, il faut contacter l&#8217;\u00e9diteur de la solution pour avoir un devis.<br \/>\nPour ma part, ayant utilis\u00e9 une version d&#8217;essai pour ce test, je n&#8217;ai pas d&#8217;information au sujet du prix. Il est, cependant, bien probable, que le tarif penche en faveur de DBVIsit vis \u00e0 vis d&#8217;une licence Enterprise Edition Oracle.<\/li>\n<li>Le &#8220;lag&#8221; entre la base primaire et la base standby peut s&#8217;av\u00e8rer important. Il n&#8217;a pas \u00e9t\u00e9 rare, au cours de mes tests, de rencontrer des d\u00e9calages sup\u00e9rieurs \u00e0 1h dans le champ &#8220;Time Gap&#8221;. Sans doute car l&#8217;activit\u00e9 redo de ma base primaire est tr\u00e8s faible.<br \/>\nDans une configuration &#8220;Dataguard&#8221; classique, c&#8217;est le param\u00e8tre &#8220;ArchiveLagTarget&#8221; qui permet de s&#8217;affranchir de ce souci.<\/li>\n<li>DBVisit standby, via son processus &#8216;dbvnet&#8217; transf\u00e8re les archivelogs de notre instance primaire, vers le site de secours. Il n&#8217;y a donc pas de cr\u00e9ation, sur la base primaire d&#8217;un &#8216;LOCATION=SERVICE&#8217; via le param\u00e8tre &#8220;Log_archive_dest&#8221;.<br \/>\nLes seuls processus d&#8217;archivage configur\u00e9s cot\u00e9 primaire et standby sont les suivants :<\/li>\n<\/ul>\n<p><strong><span style=\"color: #800080;\">Primaire:<\/span><\/strong><\/p>\n<p>&nbsp;<\/p>\n<pre>SQL&gt; select i.INSTANCE_NAME,i.HOST_NAME,d.name,d.database_role from v$instance i inner join v$database d on (i.instance_name=d.name);\r\n\r\nINSTANCE_NAME    HOST_NAME                                                        NAME      DATABASE_ROLE\r\n---------------- ---------------------------------------------------------------- --------- ----------------\r\nMANUDB           ip-172-44-2-238.capdata-aws.fr                                   MANUDB    PRIMARY\r\n\r\nSQL&gt; select DEST_NAME,STATUS,TARGET,DESTINATION,LOG_SEQUENCE,PROCESS,REGISTER from v$archive_dest where status &lt;&gt; 'INACTIVE';\r\n\r\nDEST_NAME            STATUS    TARGET           DESTINATION                                        LOG_SEQUENCE PROCESS    REG\r\n-------------------- --------- ---------------- -------------------------------------------------- ------------ ---------- ---\r\nLOG_ARCHIVE_DEST_1   VALID     RIMARY           USE_DB_RECOVERY_FILE_DEST                          131          ARCH       NO<\/pre>\n<p>&nbsp;<\/p>\n<p><strong><span style=\"color: #800080;\">Standby:<\/span><\/strong><\/p>\n<pre>SQL&gt; select i.INSTANCE_NAME,i.HOST_NAME,d.name,d.database_role from v$instance i \r\ninner join v$database d on (i.instance_name=d.name);<\/pre>\n<pre>INSTANCE_NAME    HOST_NAME                                                        NAME      DATABASE_ROLE\r\n---------------- ---------------------------------------------------------------- --------- ----------------\r\nMANUDB           ip-172-44-2-204.capdata-aws.fr                                   MANUDB    PHYSICAL STANDBY\r\n\r\nSQL&gt; select DEST_NAME,STATUS,TARGET,DESTINATION,LOG_SEQUENCE,PROCESS,REGISTER from v$archive_dest \r\nwhere status &lt;&gt; 'INACTIVE';\r\n\r\nDEST_NAME            STATUS    TARGET           DESTINATION                                        LOG_SEQUENCE PROCESS    REG\r\n-------------------- --------- ---------------- -------------------------------------------------- ------------ ---------- ---\r\nLOG_ARCHIVE_DEST_1   VALID     LOCAL            USE_DB_RECOVERY_FILE_DEST                           0           ARCH       NO\r\nSTANDBY_ARCHIVE_DEST VALID     LOCAL            USE_DB_RECOVERY_FILE_DEST                           0           RFS        NO\r\n\r\n<\/pre>\n<p>Nous pouvons voir que les archivelogs de la base primaire sont envoy\u00e9s sur la FRA mais qu&#8217;aucune autre destination n&#8217;est configur\u00e9e pour la partie &#8216;Transport log&#8217;.<\/p>\n<p>Le processus &#8220;RFS&#8221; de la standby n&#8217;est donc pas directement connect\u00e9 au LGWR comme peut l&#8217;\u00eatre une configuration Dataguard en &#8220;Max Protection&#8221;, c&#8217;est l&#8217;archivelog transf\u00e9r\u00e9 qui est rejou\u00e9 sur la standby \u00e0 la mani\u00e8re d&#8217;un &#8220;recover&#8221; manuel.<\/p>\n<p>Il y&#8217;a donc, potentiellement, un risque de perte de transaction si un souci venait \u00e0 survenir sur le site primaire et la perte des redologs non archiv\u00e9s.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-twitter nolightbox\" data-provider=\"twitter\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F8569&#038;text=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"twitter\" title=\"Share on Twitter\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/twitter.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-linkedin nolightbox\" data-provider=\"linkedin\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Linkedin\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F8569&#038;title=Une%20solution%20de%20%E2%80%9CDisaster%20Recovery%E2%80%9D%20sous%20Oracle%20Standard%20Edition%20avec%20DBVisit%20standby\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"linkedin\" title=\"Share on Linkedin\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/linkedin.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Share by email\" href=\"mailto:?subject=Une%20solution%20de%20%E2%80%9CDisaster%20Recovery%E2%80%9D%20sous%20Oracle%20Standard%20Edition%20avec%20DBVisit%20standby&#038;body=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20:%20https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F8569\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Share by email\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/mail.png\" \/><\/a>","protected":false},"excerpt":{"rendered":"<p>Hello voici un sujet que les DBA Oracle ont du d\u00e9j\u00e0 aborder \u00e0 plusieurs reprises avec leurs clients en mission, ou en infog\u00e9rance bases de donn\u00e9es. Comment assurer un plan de reprise d&#8217;activit\u00e9s fiable, robuste et p\u00e9renne dans un environnement&hellip; <a href=\"https:\/\/blog.capdata.fr\/index.php\/gerer-votre-disaster-recovery-oracle-avec-dbvisit-standby\/\" class=\"more-link\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":32,"featured_media":8669,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[143,3],"tags":[214],"class_list":["post-8569","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-general","category-oracle","tag-haute-disponibilite"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Une solution de &quot;Disaster Recovery&quot; sous Oracle Standard Edition avec DBVisit standby - Capdata TECH 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:\/\/blog.capdata.fr\/index.php\/gerer-votre-disaster-recovery-oracle-avec-dbvisit-standby\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Une solution de &quot;Disaster Recovery&quot; sous Oracle Standard Edition avec DBVisit standby - Capdata TECH BLOG\" \/>\n<meta property=\"og:description\" content=\"Hello voici un sujet que les DBA Oracle ont du d\u00e9j\u00e0 aborder \u00e0 plusieurs reprises avec leurs clients en mission, ou en infog\u00e9rance bases de donn\u00e9es. Comment assurer un plan de reprise d&#8217;activit\u00e9s fiable, robuste et p\u00e9renne dans un environnement&hellip; Continuer la lecture &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.capdata.fr\/index.php\/gerer-votre-disaster-recovery-oracle-avec-dbvisit-standby\/\" \/>\n<meta property=\"og:site_name\" content=\"Capdata TECH BLOG\" \/>\n<meta property=\"article:published_time\" content=\"2021-04-29T09:36:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-10-29T16:00:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/04\/dataguard.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"466\" \/>\n\t<meta property=\"og:image:height\" content=\"264\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Emmanuel RAMI\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Emmanuel RAMI\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"21 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/gerer-votre-disaster-recovery-oracle-avec-dbvisit-standby\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/gerer-votre-disaster-recovery-oracle-avec-dbvisit-standby\/\"},\"author\":{\"name\":\"Emmanuel RAMI\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/person\/797b9b6698fa35f7ce3e9a70a8b102ae\"},\"headline\":\"Une solution de &#8220;Disaster Recovery&#8221; sous Oracle Standard Edition avec DBVisit standby\",\"datePublished\":\"2021-04-29T09:36:06+00:00\",\"dateModified\":\"2021-10-29T16:00:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/gerer-votre-disaster-recovery-oracle-avec-dbvisit-standby\/\"},\"wordCount\":2760,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/blog.capdata.fr\/#organization\"},\"keywords\":[\"Haute Disponibilit\u00e9\"],\"articleSection\":[\"G\u00e9n\u00e9ral\",\"Oracle\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.capdata.fr\/index.php\/gerer-votre-disaster-recovery-oracle-avec-dbvisit-standby\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/gerer-votre-disaster-recovery-oracle-avec-dbvisit-standby\/\",\"url\":\"https:\/\/blog.capdata.fr\/index.php\/gerer-votre-disaster-recovery-oracle-avec-dbvisit-standby\/\",\"name\":\"Une solution de \\\"Disaster Recovery\\\" sous Oracle Standard Edition avec DBVisit standby - Capdata TECH BLOG\",\"isPartOf\":{\"@id\":\"https:\/\/blog.capdata.fr\/#website\"},\"datePublished\":\"2021-04-29T09:36:06+00:00\",\"dateModified\":\"2021-10-29T16:00:10+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/gerer-votre-disaster-recovery-oracle-avec-dbvisit-standby\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.capdata.fr\/index.php\/gerer-votre-disaster-recovery-oracle-avec-dbvisit-standby\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/gerer-votre-disaster-recovery-oracle-avec-dbvisit-standby\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/blog.capdata.fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Une solution de &#8220;Disaster Recovery&#8221; sous Oracle Standard Edition avec DBVisit standby\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.capdata.fr\/#website\",\"url\":\"https:\/\/blog.capdata.fr\/\",\"name\":\"Capdata TECH BLOG\",\"description\":\"Le blog technique sur les bases de donn\u00e9es de CAP DATA Consulting\",\"publisher\":{\"@id\":\"https:\/\/blog.capdata.fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.capdata.fr\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/blog.capdata.fr\/#organization\",\"name\":\"Capdata TECH BLOG\",\"url\":\"https:\/\/blog.capdata.fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp\",\"contentUrl\":\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp\",\"width\":800,\"height\":254,\"caption\":\"Capdata TECH BLOG\"},\"image\":{\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/cap-data-consulting\/mycompany\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/person\/797b9b6698fa35f7ce3e9a70a8b102ae\",\"name\":\"Emmanuel RAMI\",\"sameAs\":[\"https:\/\/blog.capdata.fr\"],\"url\":\"https:\/\/blog.capdata.fr\/index.php\/author\/erami\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Une solution de \"Disaster Recovery\" sous Oracle Standard Edition avec DBVisit standby - Capdata TECH 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:\/\/blog.capdata.fr\/index.php\/gerer-votre-disaster-recovery-oracle-avec-dbvisit-standby\/","og_locale":"fr_FR","og_type":"article","og_title":"Une solution de \"Disaster Recovery\" sous Oracle Standard Edition avec DBVisit standby - Capdata TECH BLOG","og_description":"Hello voici un sujet que les DBA Oracle ont du d\u00e9j\u00e0 aborder \u00e0 plusieurs reprises avec leurs clients en mission, ou en infog\u00e9rance bases de donn\u00e9es. Comment assurer un plan de reprise d&#8217;activit\u00e9s fiable, robuste et p\u00e9renne dans un environnement&hellip; Continuer la lecture &rarr;","og_url":"https:\/\/blog.capdata.fr\/index.php\/gerer-votre-disaster-recovery-oracle-avec-dbvisit-standby\/","og_site_name":"Capdata TECH BLOG","article_published_time":"2021-04-29T09:36:06+00:00","article_modified_time":"2021-10-29T16:00:10+00:00","og_image":[{"width":466,"height":264,"url":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2021\/04\/dataguard.jpg","type":"image\/jpeg"}],"author":"Emmanuel RAMI","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Emmanuel RAMI","Dur\u00e9e de lecture estim\u00e9e":"21 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.capdata.fr\/index.php\/gerer-votre-disaster-recovery-oracle-avec-dbvisit-standby\/#article","isPartOf":{"@id":"https:\/\/blog.capdata.fr\/index.php\/gerer-votre-disaster-recovery-oracle-avec-dbvisit-standby\/"},"author":{"name":"Emmanuel RAMI","@id":"https:\/\/blog.capdata.fr\/#\/schema\/person\/797b9b6698fa35f7ce3e9a70a8b102ae"},"headline":"Une solution de &#8220;Disaster Recovery&#8221; sous Oracle Standard Edition avec DBVisit standby","datePublished":"2021-04-29T09:36:06+00:00","dateModified":"2021-10-29T16:00:10+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.capdata.fr\/index.php\/gerer-votre-disaster-recovery-oracle-avec-dbvisit-standby\/"},"wordCount":2760,"commentCount":0,"publisher":{"@id":"https:\/\/blog.capdata.fr\/#organization"},"keywords":["Haute Disponibilit\u00e9"],"articleSection":["G\u00e9n\u00e9ral","Oracle"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.capdata.fr\/index.php\/gerer-votre-disaster-recovery-oracle-avec-dbvisit-standby\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.capdata.fr\/index.php\/gerer-votre-disaster-recovery-oracle-avec-dbvisit-standby\/","url":"https:\/\/blog.capdata.fr\/index.php\/gerer-votre-disaster-recovery-oracle-avec-dbvisit-standby\/","name":"Une solution de \"Disaster Recovery\" sous Oracle Standard Edition avec DBVisit standby - Capdata TECH BLOG","isPartOf":{"@id":"https:\/\/blog.capdata.fr\/#website"},"datePublished":"2021-04-29T09:36:06+00:00","dateModified":"2021-10-29T16:00:10+00:00","breadcrumb":{"@id":"https:\/\/blog.capdata.fr\/index.php\/gerer-votre-disaster-recovery-oracle-avec-dbvisit-standby\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.capdata.fr\/index.php\/gerer-votre-disaster-recovery-oracle-avec-dbvisit-standby\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.capdata.fr\/index.php\/gerer-votre-disaster-recovery-oracle-avec-dbvisit-standby\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/blog.capdata.fr\/"},{"@type":"ListItem","position":2,"name":"Une solution de &#8220;Disaster Recovery&#8221; sous Oracle Standard Edition avec DBVisit standby"}]},{"@type":"WebSite","@id":"https:\/\/blog.capdata.fr\/#website","url":"https:\/\/blog.capdata.fr\/","name":"Capdata TECH BLOG","description":"Le blog technique sur les bases de donn\u00e9es de CAP DATA Consulting","publisher":{"@id":"https:\/\/blog.capdata.fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.capdata.fr\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/blog.capdata.fr\/#organization","name":"Capdata TECH BLOG","url":"https:\/\/blog.capdata.fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/","url":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp","contentUrl":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp","width":800,"height":254,"caption":"Capdata TECH BLOG"},"image":{"@id":"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/cap-data-consulting\/mycompany\/"]},{"@type":"Person","@id":"https:\/\/blog.capdata.fr\/#\/schema\/person\/797b9b6698fa35f7ce3e9a70a8b102ae","name":"Emmanuel RAMI","sameAs":["https:\/\/blog.capdata.fr"],"url":"https:\/\/blog.capdata.fr\/index.php\/author\/erami\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/8569","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/users\/32"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/comments?post=8569"}],"version-history":[{"count":56,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/8569\/revisions"}],"predecessor-version":[{"id":8571,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/8569\/revisions\/8571"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/media\/8669"}],"wp:attachment":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/media?parent=8569"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/categories?post=8569"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/tags?post=8569"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}