Valider la préparation à la récupération après sinistre

Vérifiez les meilleures pratiques en matière de préparation à la récupération après sinistre et vérifiez votre configuration de récupération après sinistre pour les événements planifiés et non planifiés.

A propos de la préparation à la récupération après sinistre

Examiner les meilleures pratiques en matière de préparation au relèvement après sinistre.

Utilisez Active Data Guard pour décharger la charge globale en lecture seule vers la base de données de secours afin de fournir une validation continue au niveau de l'application selon laquelle la base de données de secours est prête pour la production. Cela fournit un niveau d'assurance en plus de la validation continue au niveau du bloc Oracle effectuée par les processus d'application Oracle Data Guard.

Utilisez une base de données de secours de cliché pour créer une réplique exacte d'une base de données de production à des fins de développement et de test. Placez périodiquement la base de données de secours en mode lecture/écriture (à l'aide de Data Guard Snapshot Standby) pour valider sa disponibilité à prendre en charge les charges de travail de production en lecture/écriture. Un cliché de secours peut également être utilisé pour un dernier niveau de test fonctionnel et de performances des patches et des mises à niveau car la taille du système DR est similaire au système de production. Une base de données de secours de cliché continue de recevoir redo à partir de la base de données principale où elle est archivée pour une utilisation ultérieure, ce qui fournit une protection des données en tout temps. Toutefois, le temps de récupération (RTO) sera prolongé du temps nécessaire pour convertir la base de données de secours Snapshot en base de données de secours si un changement de base est nécessaire pendant le test est en cours. Un stockage supplémentaire est requis pour la zone de récupération rapide lorsqu'une base de données de secours est en mode instantané (pour conserver les fichiers de journalisation archivés reçus de la base de données de production principale pour une utilisation ultérieure et les fichiers de journalisation et de Flashback en cours générés par la base de données de secours du cliché).

Voici quelques-uns des avantages de l'utilisation d'une base de données de secours de cliché :

  • Il fournit une réplique exacte d'une base de données de production pour le développement et le test tout en maintenant la protection des données en tout temps. Vous pouvez utiliser l'option Oracle Real Application Testing pour capturer la charge globale de base de données principale, puis la réexécuter à des fins de test sur la base de données de secours du cliché.
  • Il est facilement rafraîchi pour contenir les données de production en cours en convertissant en veille physique et en resynchronisant.

Convertir la base de données de secours en base de données cliché

Lorsque vous souhaitez une réplique exacte d'une base de données de production, vous pouvez utiliser Oracle Data Guard Broker pour convertir la base de données de secours physique en base de données de secours cliché et valider le basculement.

Une base de données de secours cliché est une base de données de secours entièrement actualisable créée à partir d'une base de données de secours physique. Sur les bases de données de secours de cliché, les données redo sont reçues, mais elles ne sont pas appliquées tant que la base de données de secours de cliché n'est pas reconvertie en base de données de secours physique.

L'interface de ligne de commande Oracle Data Guard (DGMGRL) vous permet de gérer une configuration de broker Oracle Data Guard et ses différents membres directement à partir de l'interface de ligne de commande.

  1. Connectez-vous à une session DGMGRL sur l'instance de base de données de secours avec le nom utilisateur et le mot de passe sys.
    DGMRGL> connect
    Username: sys
    Password:
    La sortie sera similaire à ce qui suit :
    Connected to "ORCLCDB_iad1s3"
    Connected as SYSDBA.
  2. Convertissez la base de données de secours physique en base de données de secours cliché.
    DGMGRL> convert database standby_database_unique_name (standbyDB) to snapshot standby;
    Une fois la conversion terminée, la sortie comporte une ligne similaire à ce qui suit :
    Converting database "standby_database_unique_name" to a Snapshot Standby database, please wait...
    Database "standby_database_unique_name" converted successfully
  3. Visualisez la configuration pour vérifier la conversion.
    DGMGRL> show configuration;
    La sortie sera similaire à ce qui suit :
    Configuration - onpremdr
      Protection Mode: MaxPerformance
      Members:
      orclcdb_iad1s3 - Primary database
        orclcdb        - Physical standby database 
    Fast-Start Failover:  Disabled
    Configuration Status:
    SUCCESS   (status updated 26 seconds ago)
  4. Convertissez le cliché en base de données de secours physique.
    DGMGRL> convert database standby_database_unique_name to physical standby;
    La sortie sera similaire à ce qui suit :
    Converting database "orclcdb" to a Physical Standby database, please wait...
    Operation requires a connection to database "orclcdb_iad1s3"
    Connecting ...
    Connected to "ORCLCDB_IAD1S3"
    Connected as SYSDBA.
    Operation requires shut down of instance "ORCLCDB" on database "orclcdb"
    Shutting down instance "ORCLCDB"...
    Connected to "ORCLCDB"
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    Operation requires start up of instance "ORCLCDB" on database "orclcdb"
    Starting instance "ORCLCDB"...
    Connected to an idle instance.
    ORACLE instance started.
    Connected to "ORCLCDB"
    Database mounted.
    Connected to "ORCLCDB"
    Continuing to convert database "orclcdb" ...
    Database "orclcdb" converted successfully
  5. Visualisez la configuration pour vérifier la conversion.
    DGMGRL> show configuration;
    La sortie sera similaire à ce qui suit :
    Configuration - onpremdr
    
      Protection Mode: MaxPerformance
      Members:
      orclcdb_iad1s3 - Primary database
        orclcdb        - Physical standby database 
          Warning: ORA-16854: apply lag could not be determined
    
    Fast-Start Failover:  Disabled
    
    Configuration Status:
    WARNING   (status updated 11 seconds ago)

Définir les paramètres Oracle Data Guard

Avant d'exécuter une permutation, définissez les paramètres Oracle Data Guard sur les instances de base de données principale et de secours.

  1. Dans la base de données principale sur site, vérifiez le numéro de modification système (SCN).
    select standby_became_primary_scn from v$database;
    La sortie sera similaire à ce qui suit :
    STANDBY_BECAME_PRIMARY_SCN
    --------------------------
                                  0
  2. Vérifiez que le Flashback n'est pas activé sur la base de données principale.
    select flashback_on from v$database;
    La sortie sera similaire à ce qui suit :
    FLASHBACK_ON
    ------------------
    NO
  3. Dans l'instance sur site, créez un répertoire de récupération portant le même nom de base de données principale que l'utilisateur Oracle.
    Dans cet exemple, ORCLCDB est le nom de la base de données sur site.
    [oracle@bastion dbhome_1]$ cd /opt/oracle/
    [oracle@bastion oracle]$ mkdir recovery
    [oracle@bastion oracle]$ cd recovery/
    [oracle@bastion recovery]$ mkdir ORCLCDB
    [oracle@bastion oracle]$ cd ORCLCDB /
    Confirmez le chemin complet.
    $ pwd
    /opt/oracle/recovery/ORCLCDB
  4. Définissez la taille du paramètre DB_RECOVERY_FILE_DEST_SIZE pour correspondre à la taille de votre base de données.
    L'exemple suivant utilise 20G comme taille de données échantillon. Définissez la taille des données en fonction de votre base de données.
    SQL> alter system set DB_RECOVERY_FILE_DEST_SIZE=20G;
    System altered
  5. Définissez la destination du fichier de récupération de base de données dans le répertoire que vous avez créé précédemment.
    SQL> alter system set db_recovery_file_dest = '/opt/oracle/recovery/on_premises_SID';
    System altered
  6. Activer Flashback sur la base de données principale.
    SQL> alter database flashback on;
    Database altered
  7. Confirmez que Flashback de base de données est activé (activé).
    SQL> select flashback_on from v$database;
    La sortie sera similaire à ce qui suit :
    FLASHBACK_ON
    ------------------
    YES
  8. Déterminez si Flashback est activé sur la base de données de secours OCI dans le cloud.
    SQL> select flashback_on from v$database;
    La sortie sera similaire à ce qui suit :
    FLASHBACK_ON
    ------------------
    NO
  9. Recherchez le statut du mode ouvert pour la base de données de secours dans le cloud.
    SQL> select open_mode from v$database;
    La sortie sera similaire à ce qui suit :
    OPEN_MODE
    -------------------- 
    MOUNTED
  10. Définissez le Flashback sur l'instance de base de données dans le cloud.
    SQL> alter database recover managed standby database cancel;
    Database altered
  11. Recherchez le statut du mode ouvert pour la base de données de secours dans le cloud.
    SQL> select open_mode from v$database;
    La sortie sera similaire à ce qui suit :
    OPEN_MODE
    -------------------- 
    MOUNTED
  12. Activez Flashback pour la base de données de secours.
    SQL> alter database flashback on;
    Database altered
  13. Déconnecter la base de données de secours de la session.
    SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
    Database altered
  14. Confirmez que Flashback de base de données est activé (activé).
    SQL> select flashback_on from v$database;
    FLASHBACK_ON
    ------------------
    YES
  15. Affiche les paramètres de conservation.
    SQL> show parameter_retention;
    La sortie sera similaire à ce qui suit :
    NAME				     TYPE	 VALUE
    ------------------------------------ ----------- ------------------------------
    db_flashback_retention_target	     integer	 1440
    undo_retention			      integer	 900

Commuter la base de données principale de la base de données sur site vers OCI

Lorsque vous avez une activité planifiée, telle que la maintenance, vous pouvez faire de la base de données dans Oracle Cloud Infrastructure (OCI) la base de données principale avec une perte de données nulle. Une permutation est un événement planifié initié sur la base de données sur site et terminé sur l'instance de base de données dans le cloud.

  1. Connectez-vous à une session DGMGRL sur la base de données sur site avec un nom utilisateur et un mot de passe sys.
    DGMRGL> connect
  2. Sur la base de données sur site, vérifiez que la base de données de secours est prête pour la permutation et le basculement.
    Dans cet exemple, la base de données principale est orclcdb et la base de données de secours est orclcdb_iadls3.
    DGMGRL> validate database orclcdb_iad1s3 (StandbyDatabaseOCIInstance)
    La sortie sera similaire à ce qui suit :
    Database Role:     Physical standby database
      Primary Database:  orclcdb
    
      Ready for Switchover:  Yes
      Ready for Failover:    Yes (Primary Running)
    
      Managed by Clusterware:
        orclcdb       :  NO             
        orclcdb_iad1s3:  NO             
        Validating static connect identifier for the primary database orclcdb...
        The static connect identifier allows for a connection to database "orclcdb".
    
      Log Files Cleared:
        orclcdb Standby Redo Log Files:         Cleared
        orclcdb_iad1s3 Online Redo Log Files:   Not Cleared
        orclcdb_iad1s3 Standby Redo Log Files:  Available
    
      Current Log File Groups Configuration:
        Thread #  Online Redo Log Groups  Standby Redo Log Groups Status       
                  (orclcdb)               (orclcdb_iad1s3)                     
        1         3                       2                       Insufficient SRLs
    
      Future Log File Groups Configuration:
        Thread #  Online Redo Log Groups  Standby Redo Log Groups Status       
                  (orclcdb_iad1s3)        (orclcdb)                            
        1         3                       0                       Insufficient SRLs
        Warning: standby redo logs not configured for thread 1 on orclcdb
  3. Dans la base de données on-premise (principale), exécutez la commande de permutation vers la base de données de secours.
    DGMGRL> switchover to orclcdb_iad1s3 (StandbyDatabaseOCIInstance)
    La sortie sera similaire à ce qui suit :
    Performing switchover NOW, please wait...
    New primary database "orclcdb_iad1s3" is opening...
    Operation requires start up of instance "ORCLCDB" on database "orclcdb"
    Starting instance "ORCLCDB"...
    Connected to an idle instance.
    ORACLE instance started.
    Connected to "ORCLCDB"
    Database mounted.
    Database opened.
    Connected to "ORCLCDB"
    Switchover succeeded, new primary is "orclcdb_iad1s3"
  4. Dans la base de données sur site, affichez le statut de configuration.
    DGMGRL> show configuration
    La sortie sera similaire à ce qui suit :
    Configuration - onpremdr
    
      Protection Mode: MaxPerformance
      Members:
      orclcdb_iad1s3 - Primary database
      orclcdb        - Physical standby database 
    
    Fast-Start Failover:  Disabled
    
    Configuration Status:
    SUCCESS   (status updated 70 seconds ago)
  5. Dans la base de données du cloud, déterminez le statut du mode ouvert.
    SQL> select open_mode from v$database;
    La sortie sera similaire à ce qui suit :
    OPEN_MODE
    -------------------- 
    READ WRITE
  6. Dans la base de données sur site, déterminez le statut du mode d'ouverture.
    SQL> select open_mode from v$database;
    La sortie sera similaire à ce qui suit :
    OPEN_MODE
    -------------------- 
    READ ONLY WITH APPLY
La base de données de secours dans le cloud est désormais la base de données principale.

Revenir de la base de données principale d'OCI à des bases de données sur site

Après avoir fait de l'instance de base de données dans Oracle Cloud Infrastructure (OCI) la base de données principale, utilisez l'interface de ligne de commande Oracle Data Guard (DGMGRL) sur l'instance de base de données OCI pour revenir à la base de données sur site et redevenir votre base de données principale.

  1. Validez les rôles de base de données de la base de données principale dans le cloud.
    Dans cet exemple, ORCLCDB est le nom de la base de données sur site et orclcdb_iad1s3 est le nom de l'instance de base de données dans le cloud.
    DGMGRL> validate database orclcdb;
    La sortie peut ressembler à ce qui suit :
    Database Role: Physical standby database
      Primary Database: orclcdb_iad1s3
    
      Ready for Switchover:  Yes
      Ready for Failover:    Yes (Primary Running)
    
      Managed by Clusterware:
        orclcdb_iad1s3:  NO             
        orclcdb       :  NO             
        Validating static connect identifier for the primary database orclcdb_iad1s3...
    Unable to connect to database using (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.0.2.1)(PORT=1539)))(CONNECT_DATA=(SERVICE_NAME=ORCLCDB_iad1s3_DGMGRL.sub08120021431.onpremocidrvcn.example.com)(INSTANCE_NAME=ORCLCDB)(SERVER=DEDICATED)(STATIC_SERVICE=TRUE)))
    ORA-12541: TNS:no listener
    
    Failed.
        Warning: Ensure primary database's StaticConnectIdentifier property
        is configured properly so that the primary database can be restarted
        by DGMGRL after switchover
    
      Log Files Cleared:
        orclcdb_iad1s3 Standby Redo Log Files:  Cleared
        orclcdb Online Redo Log Files:          Not Cleared
        orclcdb Standby Redo Log Files:         Available
    
      Current Log File Groups Configuration:
        Thread #  Online Redo Log Groups  Standby Redo Log Groups Status       
                  (orclcdb_iad1s3)        (orclcdb)                            
        1         3                       2                       Insufficient SRLs
    
      Future Log File Groups Configuration:
        Thread #  Online Redo Log Groups  Standby Redo Log Groups Status       
                  (orclcdb)               (orclcdb_iad1s3)                     
        1         3                       2                       Insufficient SRLs

    Si vous obtenez le message d'avertissement d'identificateur de connexion statique, vérifiez les paramètres de configuration, le nom de service SID, l'adresse IP hôte ou l'adresse de port.

  2. Connectez-vous à une session DGMGRL avec un nom utilisateur et un mot de passe sys.
    DGMRGL> connect
  3. Vérifiez l'identificateur de connexion statique pour la base de données sur site.
    DGMGRL> show database orclcdb StaticConnectIdentifier
    Consultez la sortie pour vérifier que les paramètres StaticConnectIdentifier sont exacts. En voici un exemple :
    DGMGRL> show database orclcdb StaticConnectIdentifier
      StaticConnectIdentifier = '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.0.2.1)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=ORCLCDB)(INSTANCE_NAME=ORCLCDB)(SERVER=DEDICATED)(STATIC_SERVICE=TRUE)))'
  4. Vérifiez l'identificateur de connexion statique de l'instance de base de données dans le cloud.
    DGMGRL> show database orclcdb_iad1s3 StaticConnectIdentifier
      StaticConnectIdentifier = 
    '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.30.3)(PORT=1539)
    ))(CONNECT_DATA=(SERVICE_NAME=ORCLCDB_iad1s3_DGMGRL.sub08120021431.onpremocidrvcn.examplevcn.com) 
    INSTANCE_NAME=ORCLCDB)(SERVER=DEDICATED)))'
    Vérifiez la sortie pour vérifier que les paramètres StaticConnectIdentifier, tels que le numéro de port et le nom de service, sont corrects.
  5. Corrigez les paramètres StaticConnectIdentifier, tels que le numéro de port et le nom de service.
    Lors de la modification des propriétés, vous devez utiliser l'interface de ligne de commande Oracle Data Guard (DGMGRL) sans saut de ligne. Cet exemple corrige le numéro de port et le nom de service de l'instance de base de données dans le cloud (orclcdb_iad1s3).
    DGMGRL> edit database 'orclcdb_iad1s3' set property StaticConnectIdentifier = '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.0.2.1)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=ORCLCDB)(INSTANCE_NAME=ORCLCDB)(SERVER=DEDICATED)))';
    Property "staticconnectidentifier" updated
  6. Validez l'instance de base de données dans le cloud.
    DGMGRL> validate database orclcdb_iad1s3;
    La sortie sera similaire à ce qui suit :
    Database Role:    Primary database
      Ready for Switchover:  Yes
    
      Managed by Clusterware:
        orclcdb_iad1s3:  NO             
        Validating static connect identifier for the primary database orclcdb_iad1s3...
        The static connect identifier allows for a connection to database "orclcdb_iad1s3".
  7. Validez la base de données sur site.
    DGMGRL> validate database orclcdb;
    La sortie sera similaire à ce qui suit :
    Database Role:     Physical standby database
      Primary Database:  orclcdb_iad1s3
      Ready for Switchover:  Yes
      Ready for Failover:    Yes (Primary Running)
    
      Managed by Clusterware:
        orclcdb_iad1s3:  NO             
        orclcdb       :  NO             
        Validating static connect identifier for the primary database orclcdb_iad1s3...
        The static connect identifier allows for a connection to database "orclcdb_iad1s3".
    
      Standby Apply-Related Information:
        Apply State:      Running
        Apply Lag:        2 seconds (computed 7 seconds ago)
        Apply Delay:      0 minutes
    
      Log Files Cleared:
        orclcdb_iad1s3 Standby Redo Log Files:  Cleared
        orclcdb Online Redo Log Files:          Not Cleared
        orclcdb Standby Redo Log Files:         Available
    
      Current Log File Groups Configuration:
        Thread #  Online Redo Log Groups  Standby Redo Log Groups Status       
                  (orclcdb_iad1s3)        (orclcdb)                            
        1         3                       2                       Insufficient SRLs
    
      Future Log File Groups Configuration:
        Thread #  Online Redo Log Groups  Standby Redo Log Groups Status       
                  (orclcdb)               (orclcdb_iad1s3)                     
        1         3                       2                       Insufficient SRLs
  8. Affichez et examinez la configuration.
    DGMGRL> show configuration;
    La sortie sera similaire à ce qui suit :
    Configuration - onpremdr
    
      Protection Mode: MaxPerformance
      Members:
      orclcdb_iad1s3 - Primary database
        orclcdb        - Physical standby database 
    
    Fast-Start Failover:  Disabled
    
    Configuration Status:
    SUCCESS   (status updated 27 seconds ago)
  9. Passer de l'instance de base de données dans OCI à la base de données sur site.
    DGMGRL> switchover to orclcdb;
    La sortie sera similaire à ce qui suit :
    Performing switchover NOW, please wait...
    Operation requires a connection to database "orclcdb"
    Connecting ...
    Connected to "ORCLCDB"
    Connected as SYSDBA.
    New primary database "orclcdb" is opening...
    Operation requires start up of instance "ORCLCDB" on database "orclcdb_iad1s3"
    Starting instance "ORCLCDB"...
    Connected to an idle instance.
    ORACLE instance started.
    Connected to "ORCLCDB_iad1s3"
    Database mounted.
    Database opened.
    Connected to "ORCLCDB_iad1s3"
    Switchover succeeded, new primary is "orclcdb"
    Une fois la base de données montée, vous pouvez recevoir l'avertissement suivant :
    ORA-16000: database or pluggable database open for read-only access  
    
    Please complete the following steps to finish switchover:
           start up instance "ORCLCDB" of database "orclcdb" 

    Vous pouvez ignorer l'avertissement et passer à l'étape suivante.

  10. Sur la base de données de secours, qui est maintenant la principale, connectez et vérifiez la configuration.
    DGMGRL> show configuration;
    La sortie sera similaire à ce qui suit :
    Configuration - onpremdr
    
      Protection Mode: MaxPerformance
      Members:
      orclcdb        - Primary database
        orclcdb_iad1s3 - Physical standby database 
    
    Fast-Start Failover:  Disabled
    
    Configuration Status:
    SUCCESS   (status updated 86 seconds ago)
  11. Sur l'instance de base de données principale, ORCLCDB, vérifiez que le mode est read write.
    SQL> select database_role, open_mode from v$database;
    DATABASE_ROLE	 OPEN_MODE
    ---------------- --------------------
    PRIMARY 	   READ WRITE
  12. (Facultatif) Vous pouvez utiliser la commande verbose pour afficher un vidage complet de pile, y compris le rôle, l'état, l'instance, les propriétés et l'emplacement du journal d'alertes et du journal Data Guard Broker.
    DGMGRL> show database verbose orclcdb

Vous pouvez basculer la base de données principale entre la base de données sur site et l'instance de base de données OCI.