Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Valider le déploiement de Data Guard
Une fois que vous avez configuré l'agent Data Guard, vous devez vérifier que le rétablissement a été copié à partir de la base de données principale et appliqué à la base de données de secours. La procédure suivante peut être utilisée pour vérifier l'état de Data Guard depuis les bases de données principale et de secours.
Les exemples suivants sont utilisés tout au long de ce guide:
Nom de base de données unique
Noms d'hôtes du serveur
Noms d'instance RAC
Rôle
DBDG_SITE1
site1db1, site1db2
DBDG_SITE11, DBDG_SITE12
Principal
DBDG_SITE2
site2db1, site2db2
DBDG_SITE21, DBDG_SITE22
Instance de secours
Valider le déploiement de Data Guard
Connectez-vous au premier serveur de solution Bare Metal qui héberge la base de données principale, puis définissez la variable d'environnement ORACLE_SID afin de pouvoir vous connecter à la base de données principale:
sourceoraenv <<< "DBDG_SITE11"
Démarrez SQL*Plus, puis déterminez le numéro de séquence le plus récent pour les journaux de rétablissement archivés:
Enregistrez les résultats à comparer à la base de données de secours. Les numéros de séquence sur la base de données de secours sont censés correspondre à la base de données principale.
Connectez-vous au premier serveur de solution Bare Metal qui héberge la base de données de secours, puis définissez la variable d'environnement ORACLE_SID afin de pouvoir vous connecter à la base de données de secours:
sourceoraenv <<< "DBDG_SITE21"
Démarrez SQL*Plus, puis vérifiez que le dernier numéro de séquence reçu et appliqué aux journaux de rétablissement archivés correspond au dernier numéro de séquence sur la base de données principale:
Le résultat suivant ne montre aucun temps de latence sur la base de données de secours:
NAME VALUE
-------------------- ------------------------------
transport lag +00 00:00:00
apply lag +00 00:00:00
En cas de décalage, consultez la documentation de dépannage d'Oracle Data Guard.
Commutation de base de données à l'aide de l'agent Data Guard
Une commutation est une inversion de rôle dans laquelle la base de données principale devient une base de données de secours, et inversement. Au cours du processus de commutation, les clients de base de données sont déconnectés de la base de données principale. Selon la manière dont votre application se connecte à la base de données, une commutation peut perturber le trafic de l'application. Oracle propose des options permettant de maintenir la continuité des applications lors des transitions de rôles. Vous pouvez tester votre préparation à la reprise après sinistre en effectuant une commutation de base de données avec les instructions suivantes:
Connectez-vous au serveur de solution Bare Metal qui héberge la base de données principale.
Lancez l'interface de ligne de commande Data Guard et connectez-vous à la base de données de secours:
dgmgrl
CONNECTSYS@DBDG_SITE2
Lorsque vous êtes invité à entrer un mot de passe, saisissez votre mot de passe de connexion à distance SYS pour la base de données.
Vérifiez que la base de données est prête pour une commutation.
VALIDATE DATABASE DBDG_SITE2;
Si l'opération réussit, la base de données est prête à être à la commutation.
Si l'opération réussit, exécutez la commande de commutation suivante :
SWITCHOVER TO DBDG_SITE2;
Si la commande aboutit, vous recevrez un message indiquant que DBDG_SITE2 est la nouvelle base de données principale dans la configuration.
Exécutez la commande suivante pour vérifier que les rôles de la base de données sont échangés:
SHOW CONFIGURATION;
Exécutez la commande suivante pour revenir à la configuration d'origine:
SWITCHOVER TO DBDG_SITE1;
Basculement de base de données à l'aide de l'agent Data Guard
Un basculement est une transition de rôle dans laquelle l'une des bases de données de secours est transférée vers le rôle principal en raison d'une panne complète du site. Le rétablissement de la base de données n'est pas envoyé à la base de données de secours tant que la base de données de secours n'a pas été rétablie.
Effectuer le basculement
Connectez-vous au premier serveur de solution Bare Metal qui héberge la base de données de secours.
Connectez-vous à l'interface de ligne de commande Data Guard, puis basculez la base de données principale vers la base de données de secours:
dgmgrl
CONNECTSYS@DBDG_SITE2
Lorsque vous êtes invité à entrer un mot de passe, saisissez votre mot de passe de connexion à distance SYS pour la base de données.
Initiez le basculement comme suit :
FAILOVER TO DBDG_SITE2
Exécutez show configuration; pour vérifier que DBDG_SITE2 est désormais la base de données principale et que DBDG_SITE1 doit être rétabli.
Réactiver la base de données principale
Vous ne pouvez rétablir la base de données principale après un basculement que si flashback database est activé. Pour rétablir la base de données principale défaillante, procédez comme suit:
Connectez-vous au premier serveur de solution Bare Metal qui héberge la base de données principale.
Connectez-vous à l'interface de ligne de commande Data Guard, puis à la base de données principale, puis rétablir la base de données ayant échoué:
dgmgrl
CONNECTSYS@DBDG_SITE2
Lorsque vous êtes invité à entrer un mot de passe, saisissez votre mot de passe de connexion à distance SYS pour la base de données.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (UTC)."],[[["\u003cp\u003eThis document provides instructions on how to validate a Data Guard deployment by checking redo log sequence numbers and process status between primary and standby databases.\u003c/p\u003e\n"],["\u003cp\u003eThe process for performing a database switchover, which reverses the roles of the primary and standby databases, is detailed, including steps to validate and execute the switchover.\u003c/p\u003e\n"],["\u003cp\u003eSteps to perform a database failover, where a standby database becomes the new primary due to a site outage, are outlined, as well as a warning about potential data loss during this process.\u003c/p\u003e\n"],["\u003cp\u003eThe document explains how to reinstate a failed primary database after a failover, requiring that the flashback database feature is enabled.\u003c/p\u003e\n"]]],[],null,["# Validate the Data Guard deployment\n==================================\n\nAfter you've [set up the Data Guard broker](/bare-metal/docs/solutions/oracle/data-guard-setup/broker),\nyou need to verify that redo was copied from the primary database and applied on\nthe standby database. The following procedure can be used to check the Data\nGuard status from within the primary and standby databases.\n\nThe following examples are used throughout this guide:\n\nValidate the Data Guard deployment\n----------------------------------\n\n1. Log in to the first Bare Metal Solution server that hosts the primary database,\n then set the `ORACLE_SID` environment variable so you can connect to the\n primary database:\n\n source oraenv \u003c\u003c\u003c \"\u003cvar translate=\"no\"\u003eDBDG_SITE11\u003c/var\u003e\"\n\n2. Start SQL\\*Plus, then determine the latest sequence number for archived redo\n logs:\n\n sqlplus / as sysdba\n\n SELECT THREAD#, max(SEQUENCE#) \"Last Primary Seq Archived\"\n FROM V$ARCHIVED_LOG VAL, V$DATABASE VDB WHERE VAL.RESETLOGS_CHANGE# =\n VDB.RESETLOGS_CHANGE# GROUP BY THREAD# ORDER BY 1;\n\n The following output has maximum sequence number of 40 for thread 1 and a\n maximum sequence number of 33 for thread 2: \n\n THREAD# Last Primary Seq Archived\n ---------- -------------------------\n 1 40\n 2 33\n\n Record the results to compare with the standby database. Sequence numbers on\n the standby database are expected to match the primary database.\n3. Log in to the first Bare Metal Solution server that hosts the standby database, then\n set the `ORACLE_SID` environment variable so you can connect to the standby\n database:\n\n source oraenv \u003c\u003c\u003c \"\u003cvar translate=\"no\"\u003eDBDG_SITE21\u003c/var\u003e\"\n\n4. Start SQL\\*Plus, then validate that the latest sequence number received and\n applied for archived redo logs matches the latest sequence number on the\n primary database:\n\n sqlplus / as sysdba\n\n SELECT THREAD#, max(SEQUENCE#) \"Last Standby Seq Received\"\n FROM V$ARCHIVED_LOG VAL, V$DATABASE VDB WHERE VAL.RESETLOGS_CHANGE# =\n VDB.RESETLOGS_CHANGE# GROUP BY THREAD# ORDER BY 1;\n\n SELECT THREAD#, max(SEQUENCE#) \"Last Standby Seq Applied\"\n FROM V$ARCHIVED_LOG VAL, V$DATABASE VDB WHERE VAL.RESETLOGS_CHANGE# =\n VDB.RESETLOGS_CHANGE# AND VAL.APPLIED IN ('YES','IN-MEMORY') GROUP BY\n THREAD# ORDER BY 1;\n\n The following output has sequence numbers that match the prior query run\n against the standby database: \n\n THREAD# Last Standby Seq Received\n ---------- -------------------------\n 1 40\n 2 33\n\n THREAD# Last Standby Seq Applied\n ---------- ------------------------\n 1 40\n 2 33\n\n5. Check that the status of the managed recovery process is `APPLYING_LOG`:\n\n SELECT PROCESS, STATUS FROM V$MANAGED_STANDBY WHERE PROCESS LIKE '%MRP%';\n\n The following example shows a single managed recovery process named `MRP0`\n with status of `APPLYING_LOG`: \n\n PROCESS STATUS\n --------- ------------\n MRP0 APPLYING_LOG\n\n6. Check for any transport or apply lag on the standby database:\n\n COLUMN NAME FORMAT a20\n COLUMN VALUE FORMAT a30\n SELECT NAME, VALUE FROM V$DATAGUARD_STATS WHERE NAME LIKE '%lag%';\n\n The following output shows no lag on the standby database: \n\n NAME VALUE\n -------------------- ------------------------------\n transport lag +00 00:00:00\n apply lag +00 00:00:00\n\n If there is lag, consult Oracle's Data Guard troubleshooting [documentation](https://docs.oracle.com/en/database/oracle/oracle-database/19/haovw/tune-and-troubleshoot-oracle-data-guard.html#GUID-E8C27979-9D37-4899-9306-A5AE2B5CF6C0).\n\nDatabase switchover using the Data Guard broker\n-----------------------------------------------\n\nA switchover is a role reversal in which the primary database becomes a standby\ndatabase, and vice versa. During the switchover process, database clients are\ndisconnected from the primary database. Depending on how your application\nconnects to the database, a switchover can disrupt application traffic. Oracle\noffers [options to maintain application continuity](https://docs.oracle.com/en/database/oracle/oracle-database/19/racad/ensuring-application-continuity.html)\nduring role transitions. You can test your disaster recovery readiness by\nperforming a database switchover with the following instructions:\n\n1. Log in to the Bare Metal Solution server that hosts the primary database.\n\n2. Launch the Data Guard command line interface, and connect to the standby\n database:\n\n dgmgrl\n\n CONNECT SYS@\u003cvar translate=\"no\"\u003eDBDG_SITE2\u003c/var\u003e\n\n3. When prompted for a password, enter your SYS remote login password for the\n database.\n\n4. Validate that the database is ready for a switchover.\n\n VALIDATE DATABASE \u003cvar translate=\"no\"\u003eDBDG_SITE2\u003c/var\u003e;\n\n A successful result will report that the database is ready for switchover.\n5. If successful, perform the switchover command:\n\n SWITCHOVER TO \u003cvar translate=\"no\"\u003eDBDG_SITE2\u003c/var\u003e;\n\n If the command succeeds, you'll receive a message that \u003cvar scope=\"DBDG_SITE2\" translate=\"no\"\u003eDBDG_SITE2\u003c/var\u003e\n is the new primary database in the configuration.\n6. Run the following command to confirm that the database roles are swapped:\n\n SHOW CONFIGURATION;\n\n7. Run the following command to return to the original configuration:\n\n SWITCHOVER TO \u003cvar translate=\"no\"\u003eDBDG_SITE1\u003c/var\u003e;\n\n| **Note:** Running the switchover command while connected to the primary database might result in the connection being dropped. This is due to the primary database being restarted during the switchover process.\n\nDatabase failover using Data Guard broker\n-----------------------------------------\n\nA failover is a role transition in which one of the standby databases moves to\nthe primary role due to a complete site outage. Redo will not be shipped to the\nstandby database until the standby database has been reinstated.\n| **Warning:** A failover typically involves data loss.\n\n### Perform the failover\n\n1. Log in to the first Bare Metal Solution server that hosts the standby database.\n\n2. Connect to the Data Guard command line interface, then failover the primary\n to the standby database:\n\n dgmgrl\n\n CONNECT SYS@\u003cvar translate=\"no\"\u003eDBDG_SITE2\u003c/var\u003e\n\n3. When prompted for a password, enter your SYS remote login password for the\n database.\n\n4. Initiate the failover:\n\n FAILOVER TO \u003cvar translate=\"no\"\u003eDBDG_SITE2\u003c/var\u003e\n\n Run `show configuration;` to verify that \u003cvar scope=\"DBDG_SITE2\" translate=\"no\"\u003eDBDG_SITE2\u003c/var\u003e\n is now the primary database, and \u003cvar scope=\"DBDG_SITE1\" translate=\"no\"\u003eDBDG_SITE1\u003c/var\u003e\n needs to be reinstated.\n\n### Reinstate the primary database\n\nYou can only reinstate the primary database after a failover if\n[`flashback database`](https://docs.oracle.com/en/database/oracle/oracle-database/19/sbydb/examples-of-using-oracle-data-guard.html#GUID-1163448F-6B18-4A44-AA8D-7CDF0D1360FB)\nis enabled. To reinstate the failed primary database:\n\n1. Log in to the first Bare Metal Solution server that hosts the primary database.\n\n2. Connect to the Data Guard command line interface, log in to the primary\n databases, then reinstate the failed database:\n\n dgmgrl\n\n CONNECT SYS@\u003cvar translate=\"no\"\u003eDBDG_SITE2\u003c/var\u003e\n\n When prompted for a password, enter your SYS remote login password for the\n database.\n3. Reinstate the database:\n\n REINSTATE DATABASE \u003cvar translate=\"no\"\u003eDBDG_SITE1\u003c/var\u003e;\n EXIT;\n\nNext steps\n----------\n\nNext, [set up a Data Guard observer on Compute Engine](/bare-metal/docs/solutions/oracle/data-guard-setup/observer)."]]