Datenbank mit RMAN in Object Storage sichern

In diesem Artikel wird erläutert, wie Sie Recovery Manager (RMAN) verwenden, um Backups Ihrer DB-Systemdatenbank in Ihrem eigenen Objektspeicher zu verwalten.

Zur Sicherung des Service müssen Sie einen Objektspeicher-Bucket für die Backups erstellen, ein Kennwort für den Service generieren, das Oracle Database Cloud-Backupmodul installieren und dann RMAN so konfigurieren, dass Backups an den Service gesendet werden. Das Backupmodul ist eine Schnittstelle für ein Systembackup auf Band (SBT), die eng mit RMAN integriert ist. So können Sie bekannte RMAN-Befehle für Backup- und Recovery-Vorgänge verwenden.

Wie Sie sehen, wird Swift in der Konsole und in der Endpunkt-URL für den Service erwähnt. Das liegt daran, dass das Backupmodul im Allgemeinen für Backups in Oracle Database Backup Cloud Service, einem OpenStack Swift-Objektspeicher, verwendet wird.

Tipp: In einem DB-System können Sie mit der DBCLI Backups im Objektspeicher erstellen. Das ist eine Alternative zum Installieren des Backupmoduls und Erstellen von Backups mit RMAN. Weitere Informationen finden Sie unter Objectstoreswift-Befehle.

Voraussetzungen

Sie benötigen Folgendes:

Backupmodul im DB-System installieren

  1. Stellen Sie eine SSH-Verbindung zum DB-System her.

    ssh -i <SSH_key_used_when_launching_the_DB_system> opc@<DB_system_IP_address_or_hostname>
  2. Melden Sie sich als Benutzer opc an.

    login as: opc
  3. Wechseln Sie per sudo zum Benutzer oracle.

    sudo su - oracle
  4. Wechseln Sie zum Verzeichnis, das die Backupmoduldatei opc_install.jar enthält.

    cd /opt/oracle/oak/pkgrepos/oss/odbcs
  5. Verwenden Sie die folgende Befehlssyntax, um das Backupmodul zu installieren.

    java -jar opc_install.jar
        -opcId <user_id>
        -opcPass '<auth_token>'
        -container <bucket_name>
        -walletDir ~/hsbtwallet/
        -libDir ~/lib/
        -configfile ~/config
        -host https://swiftobjectstorage.<region_name>.oraclecloud.com/v1/<object_storage_namespace>

    Parameter:

    Parameter Beschreibung
    -opcId Der Benutzername für den Oracle Cloud Infrastructure-Benutzeraccount. Beispiel: -opcId <username>@<example>.com.
    Dies ist der Benutzername, mit dem Sie sich bei der Konsole anmelden.
    Der Benutzername muss Mitglied der Administratorengruppe sein, wie im Abschnitt Voraussetzungen beschrieben.
    Sie können den Benutzernamen auch in einfachen Anführungszeichen angeben. Das ist möglicherweise erforderlich, wenn der Name Sonderzeichen enthält. Beispiel: -opcId 'j~smith@<example>.com'
    Verwenden Sie keine einfachen Anführungszeichen und keine schrägen Apostrophe.
    -opcPass Das mit der Konsole oder IAM-API generierte Authentifizierungstoken in einfachen Anführungszeichen. Beispiel: -opcPass <password>
    Verwenden Sie keine einfachen Anführungszeichen und keine schrägen Apostrophe.
    Weitere Informationen finden Sie unter Benutzerzugangsdaten verwalten.
    Dies ist nicht das Kennwort für den Oracle Cloud Infrastructure-Benutzer.
    -container Der Name eines vorhandenen Buckets in Object Storage, der als Backupziel verwendet werden soll. Beispiel: -container DBBackups
    -walletDir Das Verzeichnis, in dem das Installationstool ein Oracle Wallet mit dem Oracle Cloud Infrastructure-Benutzernamen und dem AuthentifizierungstToken erstellt.
    -walletDir ~/hsbtwallet erstellt das Wallet im Home-Verzeichnis des aktuellen Benutzers (oracle).
    -libDir Das Verzeichnis, in dem die SBT-Library gespeichert wird. Das Verzeichnis muss bereits vorhanden sein, bevor Sie den Befehl ausführen. Mit diesem Parameter wird die neueste SBT-Library heruntergeladen.
    -libDir ~/lib/ lädt die Datei libopc.so in das Home-Verzeichnis des aktuellen Benutzers herunter, z.B. /home/oracle/lib/libopc.so.
    -configfile Der Name der Initialisierungsparameterdatei, die vom Installationstool erstellt wird. Diese Datei wird von Ihren RMAN-Jobs referenziert.
    -configfile ~/config erstellt die Datei im Home-Verzeichnis des aktuellen Benutzers. Beispiel: /home/oracle/config.
    -host Die Endpunkt-URL, an die Backups gesendet werden sollen:
    https://swiftobjectstorage.<region_name>.oraclecloud.com/v1/<object_storage_namespace>
    wobei object_storage_namespace der Object Storage-Namespace Ihres Mandanten ist. Weitere Informationen finden Sie unter Object Storage-Namespaces.
    Fügen Sie keinen Schrägstrich nach dem Object Storage-Namespace hinzu.
    Informationen zum Suchen des Regionsnamens finden Sie unter Regionen und Availability-Domains.

RMAN konfigurieren

In diesem Thema wird beschrieben, wie Sie RMAN so konfigurieren, dass der Bucket als Standardbackupziel verwendet wird. Im Folgenden wird vorausgesetzt, dass Sie noch beim DB-System angemeldet sind.

  1. Legen Sie im DB-System die Umgebungsvariablen ORACLE_HOME und ORACLE_SID mit dem Utility oraenv fest.

    . oraenv
  2. Stellen Sie mit RMAN eine Verbindung zur Datenbank her.

    rman target /
  3. Konfigurieren Sie RMAN so, dass das SBT-Gerät benutzt wird und auf die config-Datei verwiesen wird, welche beim Installieren des Backupmoduls erstellt wurde. Hier wird ein Beispielbefehl für eine Datenbank der Version 12 angezeigt.

    CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS
        'SBT_LIBRARY=/home/oracle/lib/libopc.so,
        SBT_PARMS=(OPC_PFILE=/home/oracle/config)';
  4. Konfigurieren Sie RMAN so, dass standardmäßig SBT_TAPE verwendet wird. Im folgenden Beispiel wird das automatische Backup der Kontrolldatei und SPFILE in SBT_TAPE aktiviert und die Verschlüsselung konfiguriert. Es gibt weitere Einstellungen, die für Ihre Installation gelten können, wie Komprimierung, Anzahl der zu verwendenden Backup- und Recovery-Kanäle, Backupaufbewahrungs-Policy, Lösch-Policy für archivierte Logs usw. In der Dokumentation zu Oracle Backup und Recovery für Ihre Oracle-Version finden Sie weitere Informationen zur Auswahl der entsprechenden Einstellungen.

    CONFIGURE DEFAULT DEVICE TYPE TO SBT_TAPE;
    CONFIGURE BACKUP OPTIMIZATION ON;
    CONFIGURE CONTROLFILE AUTOBACKUP ON;
    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '%F';
    CONFIGURE ENCRYPTION FOR DATABASE ON;

Hinweis: Backups müssen verschlüsselt werden. Sie geben beim Ausführen eines Backups die Verschlüsselung an. Es wird ein Fehler gemeldet, wenn ein Backup nicht verschlüsselt ist.

Nachdem die RMAN-Konfiguration abgeschlossen ist, können Sie dieselben RMAN-Befehle verwenden, die Sie regelmäßig für Backups auf Band nutzen.

Datenbank sichern

Dieses Thema enthält Beispiele für häufig verwendete Backupbefehle.

  1. Legen Sie die Datenbankverschlüsselung fest:

    SET ENCRYPTION IDENTIFIED BY "password" ONLY;

    Hinweis: Diese Einstellung ist nicht dauerhaft. Sie müssen sie für jede neue RMAN-Session festlegen.

  2. Sichern Sie die Datenbank und die Archive-Logs. Im Folgenden finden Sie einige Beispielbefehle. In der Dokumentation zu Oracle Backup und Recovery für Ihre Oracle-Version finden Sie weitere Informationen zur Auswahl einer Backupmethode, die Ihren Anforderungen entspricht. Stellen Sie sicher, dass Sie regelmäßig ein Backup durchführen, um potenzielle Datenverluste zu minimieren, und schließen Sie dabei immer eine Kopie der SPFILE und Kontrolldatei ein. Beachten Sie, dass im folgenden Beispiel inkrementelle Backups mit mehreren Abschnitten verwendet werden. Dieses Feature wurde in Version 12c eingeführt. Wenn Sie die Version 11g verwenden, lassen Sie die Klausel section size weg.

    BACKUP INCREMENTAL LEVEL 0 SECTION SIZE 512M DATABASE PLUS ARCHIVELOG;
    BACKUP INCREMENTAL LEVEL 1 SECTION SIZE 512M DATABASE PLUS ARCHIVELOG;
    BACKUP INCREMENTAL LEVEL 1 CUMULATIVE SECTION SIZE 512M DATABASE PLUS ARCHIVELOG;
  3. Sichern Sie Archive-Logs regelmäßig, um potenzielle Datenverluste zu reduzieren, und bewahren Sie vorsichtshalber mehrere Backupkopien auf.

    BACKUP ARCHIVELOG ALL NOT BACKED UP 2 TIMES;

Wenn der Backupjob abgeschlossen ist, können Sie die Backupdateien in Ihrem Bucket in der Konsole auf der Seite Speicher anzeigen, indem Sie Object Storage auswählen.