Ungeplante Failovers

Ein Failover ist ein ungeplantes Ereignis, bei dem davon ausgegangen wird, dass die Primärdatenbank verloren geht. Die Standby-Datenbank wird unmittelbar nach der Anwendung aller verfügbaren redo-Daten aus der Primärdatenbank in eine Primärdatenbank konvertiert.

Aus einem ungeplanten Failover wiederherstellen

Ein Failover ist ein ungeplantes Ereignis oder Ausfall, das Datenverlust einschließen kann. Nach einem Failover muss die ursprüngliche Primärdatenbank als physische Standbydatenbank wiederhergestellt werden. Das Wiederherstellen der ursprünglichen Primärdatenbank ist einfacher, wenn Flashback-Datenbank und Oracle Data Guard Broker vorhanden sind.

In diesem Beispiel ist ORCLCDB der Name der On-Premise-Datenbank und orclcdb_iad1s3 der Name der Datenbankinstanz in der Cloud. Schritt 3 in diesem Beispiel fährt die primäre On-Premise-Datenbank herunter, um einen ungeplanten Ausfall zu imitieren.
  1. Melden Sie sich bei einer DGMGRL-Session in der primären On-Premise-Datenbank als sys-Benutzer und -Kennwort an.
    DGMRGL> connect
  2. Zeigt die Konfiguration für die On-Premise-Datenbank an.
    DGMGRL> show configuration;
    Die Ausgabe sollte wie folgt aussehen:
    Configuration - onpremdr
    
      Protection Mode: MaxPerformance
      Members:
      orclcdb        - Primary database
        orclcdb_iad1s3 - Physical standby database 
    
    Fast-Start Failover:  Disabled
    
    Configuration Status:
    SUCCESS(status updated 32 seconds ago)
  3. Melden Sie sich bei der primären Datenbankinstanz an, und führen Sie einen Herunterfahren aus, um einen ungeplanten Ausfall zu imitieren.
    bash-4.2$ sqlplus / as sysdba
    SQL> shutdown abort;
    Die Ausgabe sollte wie folgt aussehen:
    ORACLE instance shut down.
  4. Zeigen Sie die Konfiguration für die Standby-Datenbankinstanz in Oracle Cloud Infrastructure (OCI) an.
    DGMGRL> show configuration;
    Die Ausgabe sollte wie folgt aussehen:
    Configuration - onpremdr
      Protection Mode: MaxPerformance
      Members:
      orclcdb        - Primary database
        Error: ORA-1034: ORACLE not available
    
        orclcdb_iad1s3 - Physical standby database 
    
    Fast-Start Failover:  Disabled
    
    Configuration Status:
    ERROR   (status updated 0 seconds ago)
  5. Starten Sie das Failover.
    DGMGRL> > failover to ORCLCDB_iad1s3;
    Die Ausgabe sollte wie folgt aussehen:
    Performing failover NOW, please wait...
    Failover succeeded, new primary is "orclcdb_iad1s3"
  6. Zeigen Sie die Konfiguration der Datenbankinstanz in Oracle Cloud Infrastructure (OCI) an.
    DGMGRL> show configuration;
    Die Ausgabe sollte wie folgt aussehen:
    Configuration - onpremdr
    
      Protection Mode: MaxPerformance
      Members:
      orclcdb_iad1s3 - Primary database
        orclcdb        - Physical standby database (disabled)
          ORA-16661: the standby database needs to be reinstated
    
    Fast-Start Failover:  Disabled
    
    Configuration Status:
    SUCCESS   (status updated 48 seconds ago)
  7. Stellen Sie die ursprüngliche On-Premise-Primärdatenbank (ORCLCDB in diesem Beispiel) wieder her.
    Ein Reinstatus macht die alte deaktivierte Primärdatenbank zur Standbydatenbank, sodass redo-Daten von der neuen Primärdatenbank (aktivierte Standbydatenbank) empfangen werden können.

    Wenn Sie die ursprüngliche Primärdatenbank als primäre Datenbankinstanz (Failover) einbringen möchten, führen Sie startup mount auf einer Instanz der ursprünglichen Primärdatenbank aus, bevor Sie sie erneut angeben.

    SQL> startup mount;
  8. Verwenden Sie in der Datenbankinstanz in der Cloud (orclcdb_iad1s3 in diesem Beispiel) den Befehl reinstate database, um die ursprüngliche primäre On-Premise-Datenbank wiederherzustellen.
    DGMGRL> reinstate database ORCLCDB;
    Die Ausgabe sollte wie folgt aussehen:
    Reinstating database
            "orclcdb", please wait...Reinstatement of database
            "orclcdb" succeeded
  9. Zeigen Sie die Konfiguration für die Standby-Datenbankinstanz in Oracle Cloud Infrastructure (OCI) an.
    DGMGRL> show configuration;
    Die Ausgabe sollte wie folgt aussehen:
    Configuration - onpremdr
    
      Protection Mode: MaxPerformance
      Members:
      orclcdb_iad1s3 - Primary database
        orclcdb        - Physical standby database 
    
    Fast-Start Failover:  Disabled
    
    Configuration Status:
    SUCCESS   (status updated 47 seconds ago