Basculement planifié

Une base de données Oracle fonctionne dans l'un des deux rôles suivants : primaire ou de secours. Data Guard vous aide à modifier le rôle d'une base de données à l'aide d'un basculement ou d'un basculement :

  • Un basculement est une inversion de rôle entre la base de données principale et l'une de ses bases de secours. Un basculement ne garantit aucune perte de données et est généralement effectué pour la maintenance planifiée du système principal. Lors d'un basculement, la base de données principale passe à un rôle de secours et la base de données de secours passe au rôle principal.
  • Un basculement est effectué lorsque la base de données principale (toutes les instances d'une base de données principale Oracle RAC) échoue ou est devenue inaccessible et qu'une des bases de données de secours est transférée pour prendre le rôle principal. Le basculement peut ou non entraîner une perte de données en fonction du mode de protection en vigueur au moment du basculement.

Passer de la base de données principale sur site à OCI

Lorsque vous avez une activité planifiée, telle que la maintenance, vous pouvez faire de la base de données Oracle Cloud Infrastructure (OCI) la base de données principale avec zéro perte de données. Un basculement est un événement planifié lancé 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. Dans la base de données sur site, vérifiez que la base de données de secours est prête pour le basculement et le basculement.
    Dans cet exemple, la base de données principale est db1 et la base de secours (StandbyDatabaseOCIInstance) est DB1_phx3g7.
    DGMGRL> validate database DB1_phx3g7
    La sortie ressemblera à ce qui suit :
    Database Role:     Physical standby database
      Primary Database:  db1
    
      Ready for Switchover:  Yes
      Ready for Failover:    Yes (Primary Running)
    
      Managed by Clusterware:
        db1       :  YES             
        db1_phx3g7:  YES   
              
    Standby Apply-Related Information:
        Apply State:      Running
        Apply Lag:        17 minutes 6 seconds (computed 42 seconds ago)
        Apply Delay:      0 minutes
      Current Log File Groups Configuration:
        Thread #  Online Redo Log Groups  Standby Redo Log Groups Status       
                  (db1)                   (db1_phx3g7)                         
        1         2                       0                       Insufficient SRLs
        Warning: standby redo logs not configured for thread 1 on db1_phx3g7
        2         2                       0                       Insufficient SRLs
        Warning: standby redo logs not configured for thread 2 on db1_phx3g7
      Future Log File Groups Configuration:
        Thread #  Online Redo Log Groups  Standby Redo Log Groups Status       
                  (db1_phx3g7)            (db1)                                
        1         2                       0                       Insufficient SRLs
        Warning: standby redo logs not configured for thread 1 on db1
        2         2                       0                       Insufficient SRLs
        Warning: standby redo logs not configured for thread 2 on db1
  3. Validez la base de données principale.
    DGMGRL> validate database 'DB1';
    La sortie ressemblera à ce qui suit :
    Database Role:    Primary database
      Ready for Switchover:  Yes
      Managed by Clusterware:
        db1:  YES    
  4. Validez la base de données de secours.
    DGMGRL> validate database 'DB1_phx3g7';
    La sortie ressemblera à ce qui suit :
    
    Database Role:     Physical standby database  
    Primary Database:  db1  
    Ready for Switchover:  Yes  
    Ready for Failover:    Yes (Primary Running)  
    Managed by Clusterware:
        db1       :  YES                
        db1_phx3g7:  YES              
    Standby Apply-Related Information:
        Apply State:      Running
        Apply Lag:        32 minutes 12 seconds (computed 40 seconds ago)
        Apply Delay:      0 minutes  
    Current Log File Groups Configuration:
        Thread #  Online Redo Log Groups  Standby Redo Log Groups Status
                  (db1)                   (db1_phx3g7)
         1         2                       0                       Insufficient SRLs
        Warning: standby redo logs not configured for thread 1 on db1_phx3g7
        2         2                       0                       Insufficient SRLs     
        Warning: standby redo logs not configured for thread 2 on db1_phx3g7
    
    Future Log File Groups Configuration:
        Thread #  Online Redo Log Groups  Standby Redo Log Groups Status       
                  (db1_phx3g7)            (db1)                                
        1         2                       0                       Insufficient SRLs
        Warning: standby redo logs not configured for thread 1 on db1
        2         2                       0                       Insufficient SRLs
        Warning: standby redo logs not configured for thread 2 on db1
  5. Dans la base de données sur site (principale), exécutez la commande de basculement vers la base de secours.
    DGMGRL> switchover to db1_phx3g7;
    La sortie ressemblera à ce qui suit :
    Performing switchover NOW, please wait...
    Operation requires a connection to database "db1_phx3g7"
    Connecting ...
    Connected to "DB1_phx3g7"
    Connected as SYSDBA.
    New primary database "db1_phx3g7" is opening...
    Oracle Clusterware is restarting database "db1" ...
    Connected to "db1"
    Connected to "db1"
    Switchover succeeded, new primary is "db1_phx3g7"
  6. Dans la base de données sur site, affichez le statut de configuration.
    DGMGRL> show configuration
    La sortie ressemblera à ce qui suit :
    Configuration - onpremexadr
    
      Protection Mode: MaxPerformance
      Members:
      db1_phx3g7 - Primary database
          db1        - Physical standby database 
    
    Warning: ORA-16809: multiple warnings detected for the memberFast-Start
            Failover:  Disabled
    Configuration Status:
    WARNING   (status updated 35 seconds ago)
  7. Dans l'Oracle Exadata Database Machine principal sur site, sélectionnez le mode ouvert.
    SQL> select open_mode from v$database;
    La sortie ressemblera à ce qui suit :
    OPEN_MODE
    -------------------- 
    MOUNTED
  8. Dans la base de données Oracle Database Exadata Cloud Service du cloud, confirmez que la base de données est READ WRITE.
    SQL> select open_mode from v$database;
    La sortie ressemblera à ce qui suit :
    OPEN_MODE
    -------------------- 
    READ WRITE
La base de données sur Oracle Database Exadata Cloud Service dans le cloud est la base de données principale.

Basculer la base de données principale d'OCI vers les sites Web

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 dansOracle Database Exadata Cloud Service pour revenir en arrière et faire de votre base de données sur site votre base de données principale.

  1. Passer de l'instance de base de données dans OCI à la base de données sur site.
    DGMGRL> switchover to db1;
    La sortie obtenue ressemble à ce qui suit :
    Performing switchover NOW, please wait...
    Operation requires a connection to database "db1"
    New primary database "db1" is opening...
    Oracle Clusterware is restarting database "db1_phx3g7" ...
    Connected to "DB1_phx3g7"
    Connected to "DB1_phx3g7"
    Switchover succeeded, new primary is "db1"
  2. Sur le site Oracle Exadata Database Machine, connectez-vous et vérifiez la configuration.
    DGMGRL> show configuration;
    La sortie obtenue ressemble à ce qui suit :
    Configuration - onpremexadr
    
      Protection Mode: MaxPerformance
      Members:
      db1        - Primary database
      Warning: ORA-16809: multiple warnings detected for the member
        db1_phx3g7 - Physical standby database 
          Error: ORA-12650: No common encryption or data integrity algorithm
    Fast-Start Failover:  Disabled
    Configuration Status:
    ERROR   (status updated 899 seconds ago)
  3. Dans la base de données Oracle Database Exadata Cloud Service du cloud, créez une table de récupération après sinistre de test.
    SQL> create table testdr (a number , b number);
    Table created.
    SQL> desc testdr;
     Name                                        Null?    Type
     ----------------------------------------- -------- ----------------------------
     A                                          NUMBER
     B                                          NUMBER
  4. Quitter SQL.
    SQL> exit
  5. Dans l'Oracle Exadata Database Machine principal sur site, connectez-vous en tant que sysdba et visualisez la table testdr.
    $ sqlplus / as sysdba
    SQL> desc testdr;
    
     Name                                        Null?    Type
     ----------------------------------------- -------- ----------------------------
     A                                          NUMBER
     B                                          NUMBER
  6. Dans l'Oracle Exadata Database Machine principal sur site, affichez et vérifiez la configuration.
    DGMGRL> show configuration;
    La sortie obtenue ressemble à ce qui suit :
    Configuration - onpremexadr
    
      Protection Mode: MaxPerformance
      Members:
    db1        - Primary database
        db1_phx3g7 - Physical standby database 
          Warning: ORA-16809: multiple warnings detected for the member
    Fast-Start Failover:  Disabled
    Configuration Status:
    WARNING   (status updated 36 seconds ago)

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 Oracle Database Exadata Cloud Service (OCI).