{"id":1675,"date":"2021-09-26T09:53:08","date_gmt":"2021-09-26T07:53:08","guid":{"rendered":"http:\/\/rootfan.com\/?p=1675"},"modified":"2024-06-09T21:54:39","modified_gmt":"2024-06-09T19:54:39","slug":"oracle-19c-data-guard-configuration-pas-a-pas","status":"publish","type":"post","link":"https:\/\/rootfan.com\/fr\/oracle-19c-data-guard-configuration-step-by-step\/","title":{"rendered":"Configuration d'Oracle 19c Data Guard \u00e9tape par \u00e9tape"},"content":{"rendered":"<p>Si vous souhaitez mettre en place un Data Guard Oracle 19c, vous devez disposer de deux serveurs.<\/p>\n\n\n\n<p>Un Data Guard physique est la configuration par d\u00e9faut d'Oracle Data Guard.<\/p>\n\n\n\n<p>Fournit une copie physiquement identique de la base de donn\u00e9es principale, avec des structures de base de donn\u00e9es sur disque identiques \u00e0 la base de donn\u00e9es principale, bloc par bloc. Le sch\u00e9ma de la base de donn\u00e9es, y compris les index, est identique. <\/p>\n\n\n\n<p>Une base de donn\u00e9es physique de r\u00e9serve est synchronis\u00e9e avec la base de donn\u00e9es principale par l'interm\u00e9diaire de Redo Apply, qui r\u00e9cup\u00e8re les donn\u00e9es de r\u00e9serve re\u00e7ues de la base de donn\u00e9es principale et les applique \u00e0 la base de donn\u00e9es physique de r\u00e9serve.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>Sur le serveur 1, vous devriez avoir une base de donn\u00e9es d\u00e9j\u00e0 cr\u00e9\u00e9e et sur le serveur 2, vous n'avez besoin que des binaires sans base de donn\u00e9es cr\u00e9\u00e9e.<\/p>\n\n\n\n<p>J'utilise le fichier \/etc\/hosts pour configurer la r\u00e9solution de noms.<\/p>\n\n\n\n<p>Voici mon \/etc\/hosts sur les deux serveurs<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4\n::1         localhost localhost.localdomain localhost6 localhost6.localdomain6\n192.168.1.130 srv1.localdomain srv1\n192.168.1.131 srv2.localdomain srv2\n<\/pre><\/div>\n\n\n<p>Dans ce guide, je vais vous montrer comment cr\u00e9er une base de donn\u00e9es de secours entre Barcelone et Paris.<\/p>\n\n\n\n<p>C'est tr\u00e8s simple si vous suivez cette proc\u00e9dure de mise en place d'un gardien de donn\u00e9es \u00e9tape par \u00e9tape.<\/p>\n\n\n\n<p>BCN est la base de donn\u00e9es primaire sur le serveur srv1.<\/p>\n\n\n\n<p>PARIS est la base de donn\u00e9es en attente sur le serveur srv2.<\/p>\n\n\n\n<div class=\"wp-block-rank-math-toc-block\" id=\"rank-math-toc\"><h2>Table des mati\u00e8res<\/h2><nav><div><div><a href=\"#1-prepare-the-primary-database\">1. Pr\u00e9parer la base de donn\u00e9es primaire<\/a><\/div><div><a href=\"#2-prepare-the-standby-database\">2. Pr\u00e9parer la base de donn\u00e9es en attente<\/a><\/div><div><a href=\"#3-duplicate-the-database\">3. Dupliquer la base de donn\u00e9es<\/a><\/div><div><a href=\"#4-perform-a-switchover-with-sqlplus\">4. Effectuer un basculement avec sqlplus<\/a><\/div><div><a href=\"#5-troubleshooting\">5. D\u00e9pannage<\/a><\/div><\/div><\/nav><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"1-prepare-the-primary-database\">1. Pr\u00e9parer la base de donn\u00e9es primaire<\/h2>\n\n\n\n<p>Vous devez d'abord activer l'archivage dans votre base de donn\u00e9es.<\/p>\n\n\n\n<p>Activer l'archivage<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nsqlplus \/ as sysdba\nselect log_mode from v$database ;\nalter system set log_archive_dest_1 = &#039;LOCATION=USE_DB_RECOVERY_FILE_DEST&#039; scope=both;\nshutdown immediate\nstartup mount\nalter database archivelog;\nalter database open;\nalter system switch logfile;\nselect name from v$archived_log;\n<\/pre><\/div>\n\n\n<p>Activer la journalisation forc\u00e9e<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nselect force_logging from v$database;\nalter database force logging;\nselect force_logging from v$database;\n<\/pre><\/div>\n\n\n<p>V\u00e9rifier la taille du redo log<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nselect group#, thread#, bytes\/1024\/1024 mb from v$log;\nselect thread#, instance from v$thread ;\n<\/pre><\/div>\n\n\n<p>Cr\u00e9er des journaux de r\u00e9approvisionnement de secours (standby redo logs)<\/p>\n\n\n\n<p>Vous devez cr\u00e9er des fichiers journaux de secours de la m\u00eame taille que le r\u00e9sultat obtenu lors de la requ\u00eate pr\u00e9c\u00e9dente, et du m\u00eame nombre.<\/p>\n\n\n\n<p>Puisque j'ai 3 redo logs et que leur taille est de 200m, je cr\u00e9e 3 fichiers log en attente de 200m chacun.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nalter database add standby logfile thread 1 size 200m;\nalter database add standby logfile thread 1 size 200m;\nalter database add standby logfile thread 1 size 200m;\n<\/pre><\/div>\n\n\n<p>V\u00e9rifier les journaux redo en attente<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nselect group#, thread#, sequence#, bytes\/1024\/1024 mb, archived, status \nfrom v$standby_log;\n\nselect member from v$logfile where type = &#039;STANDBY&#039;;\n<\/pre><\/div>\n\n\n<p>V\u00e9rifier le nom unique de la base de donn\u00e9es<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nshow parameter db_unique_name\n<\/pre><\/div>\n\n\n<p>Configurer log_archive_config<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nalter system set log_archive_config=&#039;DG_CONFIG=(BCN,PARIS)&#039; scope=both;\n<\/pre><\/div>\n\n\n<p>Set log_archive_dest_2<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nalter system set log_archive_dest_2=&#039;SERVICE=PARIS ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=PARIS&#039; scope=both;\n<\/pre><\/div>\n\n\n<p>D\u00e9finir fal_server<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nshow parameter fal_server ;\nalter system set fal_server =&#039;PARIS&#039; scope=both;\n<\/pre><\/div>\n\n\n<p>fal_client n'est plus n\u00e9cessaire dans Oracle 19c.<\/p>\n\n\n\n<p>D\u00e9finir la gestion des fichiers en attente<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nshow parameter standby_file_management\nalter system set standby_file_management=&#039;AUTO&#039; scope=both;\n<\/pre><\/div>\n\n\n<p>Obtenir une liste de param\u00e8tres d\u00e9pendant des r\u00e9pertoires et cr\u00e9er les r\u00e9pertoires n\u00e9cessaires dans le serveur en attente :<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nselect name, value from v$parameter \nwhere upper(value) like upper(&#039;%\/bcn\/%&#039;);\n<\/pre><\/div>\n\n\n<p>Vous cr\u00e9erez le r\u00e9pertoire adump plus tard.<\/p>\n\n\n\n<p>Activer le flashback<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nalter database flashback on;\n<\/pre><\/div>\n\n\n<p>V\u00e9rifier le fichier des mots de passe.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nls \/u01\/app\/oracle\/product\/19.0.0\/db_1\/dbs\/orapw*\n<\/pre><\/div>\n\n\n<p>Ajouter \u00e0 tnsnames.ora<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nvi $TNS_ADMIN\/tnsnames.ora\n\nBCN =\n  (DESCRIPTION =\n    (ADDRESS = (PROTOCOL = TCP)(HOST = srv1.localdomain)(PORT = 1521))\n    (CONNECT_DATA =\n      (SERVER = DEDICATED)\n      (SERVICE_NAME = BCN.localdomain)\n    )\n  )\n\nLISTENER_BCN =\n  (ADDRESS = (PROTOCOL = TCP)(HOST = srv1.localdomain)(PORT = 1521))\n\nPARIS =\n  (DESCRIPTION =\n    (ADDRESS = (PROTOCOL = TCP)(HOST = srv2.localdomain)(PORT = 1521))\n    (CONNECT_DATA =\n      (SERVER = DEDICATED)\n      (SERVICE_NAME = PARIS.localdomain)\n    )\n  )\n<\/pre><\/div>\n\n\n<p>Sur le serveur primaire, ajoutez un enregistrement d'auditeur statique<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nvi $TNS_ADMIN\/listener.ora\n \nLISTENER =\n  (DESCRIPTION_LIST =\n    (DESCRIPTION =\n      (ADDRESS = (PROTOCOL = TCP)(HOST = srv1.localdomain)(PORT = 1521))\n      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))\n    )\n  )\n \nSID_LIST_LISTENER=\n   (SID_LIST=\n        (SID_DESC=\n          (GLOBAL_DBNAME=BCN.localdomain)\n          (SID_NAME=BCN)\n          (ORACLE_HOME=\/u01\/app\/oracle\/product\/19.0.0\/db_1)\n        )\n      )\n<\/pre><\/div>\n\n\n<p>Recharger l'auditeur<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nlsnrctl reload\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"2-prepare-the-standby-database\">2. Pr\u00e9parer la base de donn\u00e9es en attente<\/h2>\n\n\n\n<p>Cr\u00e9er un fichier d'initialisation avec seulement le nom de la base de donn\u00e9es.<\/p>\n\n\n\n<p>N'oubliez pas que le nom de la base de donn\u00e9es sera le m\u00eame dans la base de donn\u00e9es primaire et dans la base de donn\u00e9es de secours.<\/p>\n\n\n\n<p>Seul le nom unique de la base de donn\u00e9es sera diff\u00e9rent.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\necho &#039;DB_NAME=BCN&#039; &gt; $ORACLE_HOME\/dbs\/initPARIS.ora\n<\/pre><\/div>\n\n\n<p>Copiez le fichier de mots de passe du serveur primaire vers le serveur en attente.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nscp oracle@srv1:\/u01\/app\/oracle\/product\/19.0.0\/db_1\/dbs\/orapwBCN \/u01\/app\/oracle\/product\/19.0.0\/db_1\/dbs\/orapwPARIS\n\nls -al \/u01\/app\/oracle\/product\/19.0.0\/db_1\/dbs\/orapwPARIS\n<\/pre><\/div>\n\n\n<p>Copier le fichier tnsnames.ora<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nscp oracle@srv1:\/u01\/app\/oracle\/product\/19.0.0\/db_1\/network\/admin\/tnsnames.ora \/u01\/app\/oracle\/product\/19.0.0\/db_1\/network\/admin\/tnsnames.ora\n<\/pre><\/div>\n\n\n<p>Sur le serveur en attente, ajoutez un enregistrement d'auditeur statique qui sera n\u00e9cessaire pour dupliquer une base de donn\u00e9es.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nvi $TNS_ADMIN\/listener.ora\n\nLISTENER =\n  (DESCRIPTION_LIST =\n    (DESCRIPTION =\n      (ADDRESS = (PROTOCOL = TCP)(HOST = srv2.localdomain)(PORT = 1521))\n      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))\n    )\n  )\n\nSID_LIST_LISTENER=\n   (SID_LIST=\n        (SID_DESC=\n          (GLOBAL_DBNAME=PARIS.localdomain)\n          (SID_NAME=PARIS)\n          (ORACLE_HOME=\/u01\/app\/oracle\/product\/19.0.0\/db_1)\n        )\n      )\n<\/pre><\/div>\n\n\n<p>Recharger l'auditeur<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nlsnrctl reload\n<\/pre><\/div>\n\n\n<p>Cr\u00e9er le dossier adump<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nmkdir -p \/u01\/app\/oracle\/admin\/PARIS\/adump\n<\/pre><\/div>\n\n\n<p>D\u00e9marrer le BD en veille en mode nomade<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nsqlplus \/ as sysdba\nstartup nomount\nexit\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"3-duplicate-the-database\">3. Dupliquer la base de donn\u00e9es<\/h2>\n\n\n\n<p>Se connecter \u00e0 RMAN<\/p>\n\n\n\n<p>Vous devez vous connecter \u00e0 la base de donn\u00e9es principale et \u00e0 la base de donn\u00e9es secondaire en m\u00eame temps.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nrman TARGET sys\/oracle@BCN AUXILIARY sys\/oracle@PARIS\n<\/pre><\/div>\n\n\n<p>Dupliquer la base de donn\u00e9es<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nDUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE DORECOVER\nSPFILE\nSET DB_UNIQUE_NAME &#039;PARIS&#039; COMMENT &#039;Is standby&#039;\nSET LOG_ARCHIVE_DEST_2 &#039;SERVICE=BCN ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=BCN&#039;\nSET AUDIT_FILE_DEST &#039;\/u01\/app\/oracle\/admin\/PARIS\/adump&#039;\nSET CONTROL_FILES &#039;\/u01\/app\/oracle\/oradata\/PARIS\/controlfile\/control01.ctl&#039;\nSET FAL_SERVER &#039;BCN&#039;\nNOFILENAMECHECK;\n<\/pre><\/div>\n\n\n<p>Une fois la commande de duplication effectu\u00e9e, vous avez d\u00e9j\u00e0 cr\u00e9\u00e9 votre base de donn\u00e9es de secours.<\/p>\n\n\n\n<p>Connectez-vous maintenant \u00e0 la base de donn\u00e9es en attente et v\u00e9rifiez son r\u00f4le.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nsqlplus \/ as sysdba\nselect database_role from v$database;\nshow parameter db_name\nshow parameter db_unique_name\n<\/pre><\/div>\n\n\n<p>Le nom db_name doit \u00eatre le m\u00eame que celui de la base de donn\u00e9es primaire et le nom db_unique_name doit \u00eatre PARIS.<\/p>\n\n\n\n<p>Lancez maintenant le processus d'application des donn\u00e9es de r\u00e9f\u00e9rence sur la base de donn\u00e9es en attente.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nalter database recover managed standby database \ndisconnect from session;\n<\/pre><\/div>\n\n\n<p>V\u00e9rifier sur la base de donn\u00e9es en attente qu'elle applique les archiveurs avec ceci.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nselect role, thread#, sequence#, action \nfrom v$dataguard_process;\n<\/pre><\/div>\n\n\n<p>Maintenant, allez sur le primaire et v\u00e9rifiez les archiveurs aussi et faites un switch logfile pour g\u00e9n\u00e9rer un nouvel archiveur.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nselect sequence#, first_time, next_time \nfrom v$archived_log\norder by sequence#;\n\nalter system switch logfile;\n<\/pre><\/div>\n\n\n<p>Allez maintenant dans la base de donn\u00e9es en attente et v\u00e9rifiez que le nouvel archiveur a \u00e9t\u00e9 appliqu\u00e9.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nselect sequence#, first_time, next_time, applied \nfrom v$archived_log\norder by sequence#;\n<\/pre><\/div>\n\n\n<p>Arr\u00eater le processus de r\u00e9cup\u00e9ration sur l'ordinateur en attente<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nalter database recover managed standby database cancel;\n<\/pre><\/div>\n\n\n<p>Activer le flashback en mode veille<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nalter database flashback on;\n<\/pre><\/div>\n\n\n<p>Recommencez le processus de r\u00e9cup\u00e9ration sur l'ordinateur en veille<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nalter database recover managed standby database \ndisconnect from session;\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"4-perform-a-switchover-with-sqlplus\">4. Effectuer un basculement avec sqlplus<\/h2>\n\n\n\n<p>La premi\u00e8re confirme que la synchronisation est pr\u00eate \u00e0 effectuer un basculement.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nsqlplus \/ as sysdba\nalter database switchover to PARIS verify;\n<\/pre><\/div>\n\n\n<p>Si vous n'obtenez aucune erreur dans la commande pr\u00e9c\u00e9dente, tout va bien.<\/p>\n\n\n\n<p>Si vous obtenez des erreurs, consultez le fichier d'alerte pour plus de d\u00e9tails.<\/p>\n\n\n\n<p>Sur la base de donn\u00e9es primaire, v\u00e9rifiez qu'il n'y a pas de lacunes.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nselect status, gap_status \nfrom v$archive_dest_status \nwhere dest_id = 2;\n<\/pre><\/div>\n\n\n<p>Basculement vers la base de donn\u00e9es de secours<\/p>\n\n\n\n<p>Ex\u00e9cuter \u00e0 partir de la base de donn\u00e9es primaire :<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nalter database switchover to PARIS;\n<\/pre><\/div>\n\n\n<p>Allez maintenant \u00e0 srv2 (qui est maintenant la base de donn\u00e9es primaire) et ouvrez la base de donn\u00e9es<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nsqlplus \/ as sysdba\nalter database open;\n<\/pre><\/div>\n\n\n<p>Allez maintenant sur srv1 (la nouvelle base de donn\u00e9es en attente) et montez la base de donn\u00e9es<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nstartup mount\nalter database recover managed standby database disconnect;\n<\/pre><\/div>\n\n\n<p>Sur srv1, v\u00e9rifiez que tout va bien<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nselect database_role from v$database;\n\nselect role, thread#, sequence#, action from v$dataguard_process;\n<\/pre><\/div>\n\n\n<p>Maintenant, ramenons tout au point de d\u00e9part.<\/p>\n\n\n\n<p>Vous effectuerez un virage en \u00e9pingle \u00e0 cheveux.<\/p>\n\n\n\n<p>V\u00e9rifiez d'abord que les deux bases de donn\u00e9es sont pr\u00eates.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nalter database switchover to BCN verify;\n<\/pre><\/div>\n\n\n<p>Allez maintenant dans srv2 et ex\u00e9cutez \u00e0 nouveau le basculement.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nalter database switchover to BCN;\n<\/pre><\/div>\n\n\n<p>Et ouvrir la base de donn\u00e9es sur srv1<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nalter database open;\n<\/pre><\/div>\n\n\n<p>Sur srv2, montez la base de donn\u00e9es et relancez le processus de r\u00e9cup\u00e9ration.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nstartup mount\nalter database recover managed standby database disconnect;\n<\/pre><\/div>\n\n\n<p>Sur srv2, v\u00e9rifier que le switchback s'est d\u00e9roul\u00e9 correctement<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nselect database_role from v$database;\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"5-troubleshooting\">5. D\u00e9pannage<\/h2>\n\n\n\n<p>Si vous rencontrez des probl\u00e8mes, v\u00e9rifiez les param\u00e8tres de la base de donn\u00e9es primaire et de la base de donn\u00e9es de secours \u00e0 l'aide de cette requ\u00eate.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nset linesize 200 pages 50\ncol value for a85\ncol name for a50\n\nselect name, value \nfrom gv$parameter\nwhere name in (&#039;db_name&#039;,&#039;db_unique_name&#039;,&#039;log_archive_config&#039;,    \n&#039;log_archive_dest_1&#039;,&#039;log_archive_dest_2&#039;,&#039;log_archive_dest_3&#039;,\n&#039;log_archive_dest_state_1&#039;,&#039;log_archive_dest_state_2&#039;,&#039;log_archive_dest_state_3&#039;, \n&#039;remote_login_passwordfile&#039;,&#039;log_archive_format&#039;,&#039;log_archive_max_processes&#039;,\n&#039;fal_server&#039;,&#039;fal_client&#039;,&#039;db_file_name_convert&#039;,\n&#039;log_file_name_convert&#039;, &#039;standby_file_management&#039;) \norder by 1;\n<\/pre><\/div>","protected":false},"excerpt":{"rendered":"<p>Si vous souhaitez configurer un Data Guard Oracle 19c, vous devez disposer de deux serveurs. Un Data Guard physique est la configuration par d\u00e9faut d'Oracle Data Guard. Elle fournit une copie physiquement identique de la base de donn\u00e9es principale, avec des structures de base de donn\u00e9es sur disque qui sont identiques \u00e0 la base de donn\u00e9es principale, bloc par bloc. Le sch\u00e9ma de la base de donn\u00e9es, ... <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/rootfan.com\/fr\/oracle-19c-data-guard-configuration-step-by-step\/\" class=\"more-link\">Continuer la lecture<span class=\"screen-reader-text\"> de \" Oracle 19c Data Guard Configuration pas \u00e0 pas \"<\/span><\/a><\/p>","protected":false},"author":1,"featured_media":2928,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_focus_keyword":"Oracle 19c Data Guard Configuration","rank_math_title":"","rank_math_description":"Create an Oracle 19c Data Guard step by step. Become proficient in Oracle 19c Data Guard configuration with this comprehensive guide.","rank_math_robots":"","rank_math_og_title":"","rank_math_og_description":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[31],"tags":[79,32],"class_list":["post-1675","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oracle","tag-configuration","tag-data-guard"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/rootfan.com\/wp-content\/uploads\/pexels-photo-391522.jpeg?fit=1734%2C1300&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/rootfan.com\/fr\/wp-json\/wp\/v2\/posts\/1675","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rootfan.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rootfan.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rootfan.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rootfan.com\/fr\/wp-json\/wp\/v2\/comments?post=1675"}],"version-history":[{"count":60,"href":"https:\/\/rootfan.com\/fr\/wp-json\/wp\/v2\/posts\/1675\/revisions"}],"predecessor-version":[{"id":6162,"href":"https:\/\/rootfan.com\/fr\/wp-json\/wp\/v2\/posts\/1675\/revisions\/6162"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rootfan.com\/fr\/wp-json\/wp\/v2\/media\/2928"}],"wp:attachment":[{"href":"https:\/\/rootfan.com\/fr\/wp-json\/wp\/v2\/media?parent=1675"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rootfan.com\/fr\/wp-json\/wp\/v2\/categories?post=1675"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rootfan.com\/fr\/wp-json\/wp\/v2\/tags?post=1675"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}