DBAtlas · Atlas d'exploitation des bases de données

Oracle Data Guard 19c physical standby (avec Broker ; instance unique, Oracle Restart, RAC)

OracleNiveau: AvancéDurée: 2 à 4 heures (selon le volume de données)

Construit une physical standby d'une base primary 19c en fonctionnement avec RMAN DUPLICATE … FROM ACTIVE DATABASE et l'ajoute au Data Guard Broker. Résultat : une standby qui reçoit et applique le redo en temps réel, une configuration broker à l'état SUCCESS et un switchover testé (en option, un test de failover/reinstate et Fast-Start Failover + observer). Primary et standby peuvent chacune être en instance unique, Oracle Restart ou RAC ; pour l'exploitation courante et les incidents d'une configuration existante, utilisez le guide d'exploitation Data Guard.

Topologie: Primary (instance unique / Oracle Restart / RAC 2 à 8 nœuds) + physical standby (instance unique / Oracle Restart / RAC) + observer en option

Avant de commencer

  • Le logiciel Oracle Database de même version et même RU que la primary est installé sur …tous les nœuds standby…le serveur standby… (logiciel seul ; pas de base), avec le même chemin ORACLE_HOME (…). Même famille de système d'exploitation et même endianness.… Grid Infrastructure (…cluster…Oracle Restart…) est installé et en fonctionnement sur la standby, avec la même RU ou une RU plus récente.…
  • La base primary est en Enterprise Edition. Data Guard est inclus dans l'EE ; ouvrir la standby (read only) pendant l'apply exige une licence Active Data Guard.
  • Sur tous les serveurs, le profil de l'utilisateur oracle définit ORACLE_HOME=…, ORACLE_SID et PATH (……1, …2 … sur les nœuds primary…… sur la primary… ; le profil de la standby est écrit dans ce guide).… Du côté avec Grid, le profil de l'utilisateur grid définit ORACLE_HOME=… et ORACLE_SID=+ASM… (+ASM1, +ASM2 … sur RAC)… ; asmcmd et lsnrctl s'exécutent avec ce profil.…
  • Tous les serveurs se résolvent mutuellement par leur nom (DNS ou /etc/hosts)… ; les noms SCAN (…………, …………) se résolvent en 3 adresses dans le DNS… et le port …/tcp est ouvert dans les deux sens. La bande passante réseau supporte le volume de redo généré… ; pour SYNC, latence aller-retour de préférence inférieure à 1–2 ms….
  • Des groupes de disques ASM portant les mêmes noms que sur la primary (…, …) sont montés sur la standby et disposent d'assez d'espace libre.
  • Clusterware/Oracle Restart est sain sur la standby… ; tous les nœuds standby sont dans le cluster (olsnodes)….
  • Sur la primary, le thread de redo de chaque instance est activé (v$thread ENABLED = PUBLIC) et tous les threads ont le même nombre et la même taille de groupes de online redo.
  • La standby dispose d'autant d'espace disque que la primary pour les fichiers de données, la FRA (… Go) et les archive logs.
  • Les horloges sont synchronisées par NTP/chrony ; les fuseaux horaires sont identiques.
  • La primary possède un fichier de mots de passe (REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE) et le mot de passe SYS est connu. Le mot de passe ne doit pas contenir @, /, " ni d'espace (cela casse les chaînes de connexion RMAN/DGMGRL).
  • Si la primary n'est pas en mode ARCHIVELOG, un redémarrage est nécessaire… (toutes les instances s'arrêtent)… ; une fenêtre de maintenance est validée pour cela. Une sauvegarde RMAN récente de la primary existe.
  • Oracle Client (type d'installation Administrator, qui inclut dgmgrl et mkstore) ou le logiciel Database est installé sur le serveur observer ; il joint la primary et la standby sur …/tcp.

Phases du guide

  • Contrôle préalable — Vérifier l'état actuel de la primary
  • Préparation de la primary — Définir la FRA (si absente) · Activer le mode ARCHIVELOG (si nécessaire) · Activer le force logging et Flashback Database · Définir les paramètres Data Guard · Créer les standby redo logs · Vérifier le fichier de mots de passe
  • Oracle Net (tnsnames, listener statique) — Ajouter les entrées tnsnames.ora (primary…, chaque nœud…) · Ajouter les enregistrements statiques du listener (primary) · Ajouter l'enregistrement statique du listener (nœud primary … : …) · Ouvrir le port du listener dans le pare-feu… (tous les nœuds)…
  • Préparation du serveur standby — Extraire la liste des répertoires sur la primary et l'envoyer à la standby · Copier le fichier de mots de passe sur la standby · Copier le fichier de mots de passe sur la standby (d'après l'enregistrement Clusterware) · Préparer oratab et le fichier d'environnement (standby) · Préparer oratab et le fichier d'environnement (nœud standby … : …) · Créer les répertoires (standby…, chaque nœud…) …
  • Création de la standby (RMAN DUPLICATE) et Redo Apply — Créer la standby : RMAN DUPLICATE FROM ACTIVE DATABASE · Vérifier l'état de la standby · Créer les standby redo logs s'ils manquent (standby) · Supprimer le pfile temporaire (standby) · Standby RAC : écrire les paramètres cluster dans le spfile · Standby RAC : déplacer le spfile et le fichier de mots de passe dans ASM …
  • Data Guard Broker et mode de protection — Placer les fichiers de configuration du broker sur un emplacement partagé (primary RAC) · Démarrer le broker (primary) · Placer les fichiers de configuration du broker sur un emplacement partagé (standby RAC) · Démarrer le broker (standby) · Créer la configuration broker · Définir l'instance d'apply (standby RAC) …
  • Test de switchover — Test de switchover : faire de la standby la primary · Vérifier l'état après le switchover · Switchback : rétablir les rôles d'origine
  • Flashback sur la standby — Activer Flashback Database sur la standby
  • Test de failover et de reinstate — Test de failover 1/4 : simuler un crash de la primary · Test de failover 2/4 : failover vers la standby · Test de failover 3/4 : démarrer l'ancienne primary en MOUNT · Test de failover 4/4 : réintégrer l'ancienne primary comme standby (REINSTATE) · Rétablir les rôles d'origine après le failover
  • Fast-Start Failover et observer — Écrire tnsnames.ora (observer) · Créer un wallet pour l'observer · Déclarer le wallet dans sqlnet.ora (observer) · Tester la connexion avec le wallet (observer) · Définir les propriétés Fast-Start Failover · Écrire le script de démarrage de l'observer (observer) …
  • Après l'installation — Définir la politique de suppression des archive logs (primary) · Définir la politique de suppression des archive logs (standby) · Écrire le script de purge des archives (standby…, chaque nœud…) · Tester le script à la main avec l'environnement cron (standby…, chaque nœud…) · Définir la tâche cron (standby…, chaque nœud…) · Vérifier les droits du fichier cron …
Ouvrir le plan pas à pas adapté à votre environnement →