Nicht geplante Failover

Ein Failover ist ein ungeplantes Ereignis, bei dem davon ausgegangen wird, dass die Primärdatenbank verloren geht. Die Standbydatenbank wird sofort in eine Primärdatenbank konvertiert, nachdem alle verfügbaren redo-Daten aus der Primärdatenbank angewendet wurden.

Wiederherstellen von einem ungeplanten Failover

Ein Failover ist ein ungeplantes Ereignis, bei dem davon ausgegangen wird, dass die Primärdatenbank verloren geht. Die Standbydatenbank wird sofort in eine Primärdatenbank konvertiert, nachdem alle verfügbaren primären redo-Logs angewendet wurden. Sie können Flashback und Oracle Data Guard Broker verwenden, um die ursprüngliche Primärdatenbank als physische Standbydatenbank wiederherzustellen.

Nach einem Failover muss die ursprüngliche Primärdatenbank wieder als physische Standbydatenbank angegeben werden. Die erneute Angabe der ursprünglichen Primärdatenbank ist einfacher, wenn Flashbackdatenbank und Oracle Data Guard Broker aktiviert sind.
Schritt 3 in diesem Beispiel fährt die primäre On-Premise-Datenbank herunter, um einen ungeplanten Ausfall zu imitieren. In diesem Beispiel wird Oracle Data Guard Broker verwendet, um die Primärdatenbank wiederherzustellen.
  • On-Premise-Datenbank: db1
  • physische Standbydatenbankinstanz in der Cloud: db1_phx3g7
  1. Melden Sie sich in der primären On-Premise-Oracle Exadata Database Machine als sysdba an
  2. Zeigt die Konfiguration für die On-Premise-Datenbank an.
    DGMGRL> show configuration;
    Die Ausgabe sollte wie folgt aussehen:
    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)
  3. Melden Sie sich bei der primären On-Premise-Datenbankinstanz an, und führen Sie einen Herunterfahren aus, um einen ungeplanten Ausfall nachzuahmen.
    bash-4.2$ sqlplus / as sysdba
    SQL> shutdown abort;
    Die Ausgabe sollte wie folgt aussehen:
    ORACLE instance shut down.
  4. Zeigen Sie in Oracle Database Exadata Cloud Service die Konfiguration für die Datenbankinstanz an.
    DGMGRL> show configuration;
    Die Ausgabe sollte wie folgt aussehen:
    Configuration - onpremexadr
      Protection Mode: MaxPerformance
      Members:
      db1        - Primary database
        Error: ORA-12514: TNS:listener does not currently know of service requested in 
    connect descriptor
        db1_phx3g7 - Physical standby database 
    Fast-Start Failover:  Disabled
    Configuration Status:
    ERROR   (status updated 0 seconds ago)
  5. Starten Sie das Failover zur Oracle Database Exadata Cloud Service-Instanz.
    DGMGRL> > failover to db1_phx3g7;
    Die Ausgabe sollte wie folgt aussehen:
    Performing failover NOW, please wait...
    Failover succeeded, new primary is "db1_phx3g7"
  6. Zeigt die Konfiguration für die Datenbankinstanz in Oracle Database Exadata Cloud Service an.
    DGMGRL> show configuration;
    Die Ausgabe sollte wie folgt aussehen:
    Configuration - onpremexadr
    
      Protection Mode: MaxPerformance
      Members:
      db1_phx3g7 - Primary database
        Warning: ORA-16809: multiple warnings detected for the member
        db1        - Physical standby database (disabled)
          ORA-16661: the standby database needs to be reinstated
    Fast-Start Failover:  Disabled
    Configuration Status:
    WARNING   (status updated 28 seconds ago)
  7. Starten Sie auf dem On-Premise-Oracle Exadata Database Machine (db1), das jetzt Standby ist, die Instanz auf einem Knoten.
    $srvctl start instance -db db1 -instance db11
  8. Verwenden Sie den Befehl reinstate database, um die deaktivierte Primärdatenbank zur Standbydatenbank zu machen.
    Ein reinstate macht die alte, deaktivierte Primärdatenbank zur Standbydatenbank, sodass redo Daten aus der neuen Primärdatenbank (der aktivierten Standbydatenbank) empfangen werden können.
    DGMGRL> reinstate database db1;
    Die Ausgabe sollte wie folgt aussehen:
    Reinstating database
            "db1", please wait...Reinstatement of database "db1" succeeded
  9. Zeigt die Konfiguration für die On-Premise-Datenbankinstanz an.
    DGMGRL> show configuration;
    Die Ausgabe sollte wie folgt aussehen:
    Configuration - onpremexadr
      Protection Mode: MaxPerformance
      Members:
      db1_phx3g7 - Primary database
        db1        - Physical standby database 
    Fast-Start Failover:  Disabled
    Configuration Status:
    SUCCESS   (status updated 14 seconds ago)
  10. Wechseln Sie bei Bedarf zu Oracle Exadata Database Machine vor Ort.