Wie kann ich ein RMAN-Backup meiner Amazon RDS für Oracle-DB-Instance erstellen?
Ich möchte Recovery Manager (RMAN) verwenden, um ein Backup meiner Amazon Relational Database Service (Amazon RDS)-DB-Instance für Oracle zu erstellen.
Lösung
Bevor du ein RMAN-Backup deiner Amazon RDS für Oracle-DB-Instance erstellst, beachte die folgenden Einschränkungen:
- Wenn du ein RMAN-Backup deiner DB-Instance durchführst, verbrauchst du Speicherplatz aus dem zugewiesenen Speicher dieser Instance. Du kannst auch die Amazon Elastic File System (Amazon EFS)-Integration verwenden, um Backup-Dateien im erweiterten Speicher zu speichern, ohne die Gesamtspeichergröße deiner DB-Instance zu erhöhen.
- Funktionen wie die Parallel-Option für Backups, Backup-Komprimierung, Datenbankvalidierung und Blockänderungsverfolgung sind nur für Benutzer von Oracle Enterprise Edition verfügbar. Weitere Informationen findest du unter Oracle Database Editions auf der Oracle-Website.
- RMAN-Funktionen werden für RDS für Oracle-Lesereplikate nicht unterstützt, du kannst aber Blockänderungsverfolgung für Lesereplikate verwenden.
- Du musst automatisierte Backups für deine DB-Instances aktivieren, bevor du ein RMAN-Backup durchführst. Da RMAN-Backups Online-Vorgänge sind, muss das Archivprotokoll aktiviert sein. Wenn du automatisierte Backups für deine Instance aktivierst, versetzt du die DB-Instance auch in den Archive Log Mode.
RMAN-Backup deiner DB-Instance durchführen
Verwende eine der folgenden Methoden, um das RMAN-Backup deiner DB-Instance durchzuführen:
- Verwende das Standardverzeichnis DATA_PUMP_DIR.
- Erstelle ein neues Verzeichnis, um die Backup-Dateien im zugewiesenen Speicher der RDS-Instance zu speichern.
- Verwende die Amazon-EFS-Integration, um die Nutzung des zugewiesenen Speichers deiner DB-Instance zu vermeiden.
Führe die folgende Abfrage aus, um die vom Verzeichnis belegte Speichermenge zu überwachen:
SELECT round(SUM(filesize)/1024/1024/1024, 3) SIZE_IN_GB FROM TABLE(rdsadmin.rds_file_util.listdir('<DIRECTORY_NAME>'));
Vollständiges Datenbank-Backup deiner DB-Instance durchführen
Wenn du ein vollständiges Datenbank-Backup durchführst, sicherst du alle Datendateien in deiner DB-Instance. Dies umfasst die Kontrolldateien und die Datei mit gespeicherten Prozeduren.
Führe die folgende Abfrage aus, um ein vollständiges Datenbank-Backup mit dem Tag-Namen Full_DB_BACKUP im Verzeichnis DATA_PUMP_DIR mit Standard-Aufgabenparametern durchzuführen:
BEGIN rdsadmin.rdsadmin_rman_util.backup_database_full( p_owner => 'SYS', p_directory_name => 'DATA_PUMP_DIR', p_tag => 'FULL_DB_BACKUP', p_rman_to_dbms_output => FALSE); END; /
Inkrementelles Datenbank-Backup deiner DB-Instance durchführen
Inkrementelle Backups verwenden einen zusätzlichen Parameter namens p_level. Setze p_level auf 0, um ein vollständiges inkrementelles Backup durchzuführen. Setze p_level auf 1, um ein differenzielles inkrementelles Backup durchzuführen. Weitere Informationen findest du unter Informationen zu inkrementellen RMAN-Backups auf der Oracle-Website.
Wie vollständige Backups verfügen inkrementelle Backups für RDS für Oracle-DB-Instances über gemeinsame Parameter, die du vor dem Start des Backups festlegen kannst.
Führe das folgende Verfahren aus, um ein inkrementelles Backup mit dem Tag-Namen MY_INCREMENTAL_BACKUP im Verzeichnis DATA_PUMP_DIR mit Standard-Aufgabenparametern durchzuführen:
BEGIN rdsadmin.rdsadmin_rman_util.backup_database_incremental( p_owner => 'SYS', p_directory_name => 'DATA_PUMP_DIR', p_level => 1, p_tag => 'MY_INCREMENTAL_BACKUP', p_rman_to_dbms_output => FALSE); END; /
Archivprotokoll-Backup deiner DB-Instance durchführen
Verwende das Paket rdsadmin_rman_util von Amazon RDS für Oracle, um deine Archivprotokolle basierend auf SCN-Bereich, Sequenznummernbereich und Datumsbereich zu sichern.
Führe das folgende Verfahren aus, um Archivprotokolle für deine Instance im Verzeichnis ARCHIVE_LOG_BACKUP mit dem Tag-Namen LOG_BACKUP zu sichern. Weitere Informationen zum Ändern der Einstellungen für deine Archivprotokoll-Backups findest du unter Allgemeine RMAN-Aufgaben für Oracle-DB-Instances ausführen.
--creating a directory to store archive log backups EXEC rdsadmin.rdsadmin_util.create_directory(p_directory_name => 'ARCHIVE_LOG_BACKUP'); --performing archive log backup BEGIN rdsadmin.rdsadmin_rman_util.backup_archivelog_all( p_owner => 'SYS', p_directory_name => 'ARCHIVE_LOG_BACKUP', p_tag => 'LOG_BACKUP', p_rman_to_dbms_output => FALSE); END; /
Tablespace-Backup deiner DB-Instance durchführen
Verwende die unter Tablespace sichern beschriebenen allgemeinen Parameter, um ein einzelnes Tablespace-Backup deiner DB-Instance durchzuführen. Der folgende Beispielbefehl sichert den Tablespace USERS1 im benutzerdefinierten Verzeichnis TB_BACKUP mit dem Tag-Namen MYTABLESPACE_BACKUP.
BEGIN rdsadmin.rdsadmin_rman_util.backup_tablespace( p_owner => 'SYS', p_directory_name => 'TB_BACKUP', p_tablespace_name => 'USERS1', p_tag => 'MYTABLESPACE_BACKUP', p_rman_to_dbms_output => FALSE); END; /
Hinweis: Du kannst auch das Verfahren rdsadmin_rman_util verwenden, um das Backup der Kontrolldatei durchzuführen. Weitere Informationen findest du unter Kontrolldatei sichern.
RMAN-Backup-Aufträge überwachen
Um das RMAN-Backup zu überwachen, verwende SQL-Abfragen oder prüfe die Protokolldateien, die für die RMAN-Aufgabe generiert werden.
Verwende die folgenden Methoden, um auf die Protokolldateien für RMAN-Backup-Aufträge zuzugreifen:
-
Setze p_rman_to_dbms_output für die RMAN-Aufgabe, die du ausführen möchtest, auf TRUE. Stelle sicher, dass du serveroutput auf on setzt, bevor du das Paket rdsadmin_rman_util ausführst.
-
Um die RMAN-Aufgabenprotokolldateien aufzulisten, überprüfe den Abschnitt Protokolle und Ereignisse in der Amazon Aurora- und RDS-Konsole.
-
Wenn der RMAN-Backup-Auftrag abgeschlossen ist, kannst du auch die folgende SQL-Abfrage ausführen, um die RMAN-Aufgabenprotokolle aufzulisten. Verwende anschließend das Verfahren rdsadmin.rds_file_util.read_text_file, um die Protokolle zu lesen. Weitere Informationen findest du unter Dateien aufführen.
column filename format a70 set linesize 200 SELECT * FROM TABLE(rdsadmin.rds_file_util.listdir('BDUMP')) where filename like '%rman%'; -
Um die Verzeichnisgröße zu überprüfen, in dem das RMAN-Backup gespeichert ist, führe zuerst die folgende Abfrage aus. Überwache dann den Speicherverbrauch.
SELECT round(SUM(filesize)/1024/1024, 3) SIZE_IN_MB FROM TABLE(rdsadmin.rds_file_util.listdir('<DIRECTORY_NAME>')); -
Führe die folgende Abfrage aus, um den Status des Backup-Auftrags mit der benötigten Zeit für den Abschluss des RMAN-Backup-Auftrags aufzulisten.
set linesize 500 pagesize 2000 col Hours format 9999.99 col STATUS format a10 select SESSION_KEY, INPUT_TYPE, STATUS, to_char(START_TIME,'mm-dd-yyyy hh24:mi:ss') as RMAN_Bkup_start_time, to_char(END_TIME,'mm-dd-yyyy hh24:mi:ss') as RMAN_Bkup_end_time, elapsed_seconds/3600 Hours from V$RMAN_BACKUP_JOB_DETAILS order by session_key;
Ähnliche Informationen
Verschiedene Aufgaben für Oracle-DB-Instances durchführen
Allgemeine protokollbezogene Aufgaben für Oracle-DB-Instances durchführen
- Themen
- Database
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 4 Jahren
AWS OFFICIALAktualisiert vor einem Jahr
AWS OFFICIALAktualisiert vor einem Jahr