Come posso eseguire un backup RMAN della mia istanza database Amazon RDS per Oracle?
Desidero utilizzare Recovery Manager 8RMAN) per eseguire uno snapshot di un database della mia istanza database Amazon Relational Database Service (Amazon RDS) per Oracle.
Risoluzione
Prima di eseguire un backup RMAN di un'istanza database Amazon RDS per Oracle, tieni presenti le seguenti limitazioni:
- Quando esegui un backup RMAN dell'istanza database, consumi parte dello spazio di archiviazione allocato all'istanza. Puoi anche utilizzare l'integrazione con Amazon Elastic File System (Amazon EFS) per archiviare i file di backup in uno spazio di archiviazione esteso senza aumentare le dimensioni complessive dello spazio di archiviazione dell'istanza database.
- Funzionalità come l'opzione parallela per i backup, la compressione dei backup, la convalida del database e il monitoraggio delle modifiche dei blocchi sono disponibili solo per gli utenti della versione Enterprise di Oracle. Per ulteriori informazioni, consulta Oracle Database Editions (Versioni dei database Oracle) sul sito web Oracle.
- Le funzionalità RMAN non sono supportate per le repliche in lettura di RDS per Oracle, ma nelle repliche in lettura puoi utilizzare il monitoraggio delle modifiche dei blocchi.
- Devi attivare i backup automatici per le istanze database prima di eseguire un backup RMAN. Poiché i backup RMAN sono operazioni online, il log di archivio deve essere attivato. Quando attivi il backup automatico nell'istanza, imposti anche l'istanza database in modalità log di archivio.
Esegui il backup RMAN dell'istanza database
Utilizza uno di questi metodi per eseguire il backup RMAN dell'istanza database:
- Utilizza la directory DATA_PUMP_DIR predefinita.
- Crea una nuova directory per archiviare i file di backup nella memoria allocata dell'istanza RDS.
- Utilizza l'integrazione con Amazon EFS per evitare l'uso dello spazio di archiviazione allocato all'istanza database.
Per monitorare la quantità di spazio di archiviazione utilizzata dalla directory, esegui questa query:
SELECT round(SUM(filesize)/1024/1024/1024, 3) SIZE_IN_GB FROM TABLE(rdsadmin.rds_file_util.listdir('<DIRECTORY_NAME>'));
Esegui un backup completo del database dell'istanza
Quando esegui un backup completo del database, esegui il backup di tutti i file di dati dell'istanza, compresi i file di controllo e il file delle procedure archiviate.
Per eseguire un backup completo del database con il nome di tag Full_DB_BACKUP nella directory DATA_PUMP_DIR con i parametri dell'attività predefiniti, esegui questa query:
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; /
Esegui un backup incrementale del database dell'istanza
I backup incrementali utilizzano un parametro aggiuntivo chiamato p_level. Per eseguire un backup incrementale completo, imposta p_level su 0. Per eseguire un backup differenziale incrementale, imposta p_level su 1. Per ulteriori informazioni, consulta About RMAN incremental backups (Informazioni sui backup incrementali RMAN) sul sito web Oracle.
Come i backup completi, anche i backup incrementali per le istanze database RDS per Oracle hanno parametri comuni che puoi impostare prima di iniziare il backup.
Per eseguire un backup incrementale con il nome di tag MY_INCREMENTAL_BACKUP nella directory DATA_PUMP_DIR con i parametri dell'attività predefiniti, esegui questa procedura:
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; /
Esegui un backup dei log di archivio dell'istanza database
Utilizza il pacchetto Amazon RDS per Oracle rdsadmin_rman_util per eseguire il backup dei log di archivio in base all'intervallo SCN, all'intervallo di numeri di sequenza e all'intervallo di date.
Applica questa procedura per eseguire il backup dei log di archivio dell'istanza nella directory ARCHIVE_LOG_BACKUP con il nome di tag LOG_BACKUP. Per modificare le impostazioni dei backup dei log di archivio, consulta Esecuzione di attività RMAN comuni per le istanze database Oracle.
--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; /
Esegui un backup del tablespace dell'istanza database
Utilizza i parametri comuni descritti in Backup di un tablespace per eseguire un backup individuale del tablespace dell'istanza database. Questo esempio di comando esegue il backup del tablespace USERS1 nella directory personalizzata TB_BACKUP con il nome di tag 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; /
Nota: puoi inoltre utilizzare la procedura rdsadmin_rman_util per eseguire il backup del file di controllo. Per ulteriori informazioni, consulta Backup di un file di controllo.
Monitora i processi di backup RMAN
Per monitorare il backup RMAN, utilizza query SQL o controlla i file di log generati per l'attività RMAN.
Utilizza i seguenti metodi per accedere ai file di log per i processi di backup RMAN:
-
Imposta p_rman_to_dbms_output su TRUE per l'attività RMAN da eseguire. Assicurati di impostare serveroutput su on prima di eseguire il pacchetto rdsadmin_rman_util.
-
Per elencare i file di log delle attività RMAN, consulta la sezione Log ed eventi della console Amazon Aurora e RDS.
-
Se l'attività di backup RMAN è completa, puoi anche eseguire questa query SQL per elencare i log delle attività RMAN. Quindi utilizza la procedura rdsadmin.rds_file_util.read_text_file per leggere i log. Per ulteriori informazioni, consulta Elenco di file.
column filename format a70 set linesize 200 SELECT * FROM TABLE(rdsadmin.rds_file_util.listdir('BDUMP')) where filename like '%rman%'; -
Per verificare la dimensione della directory in cui è archiviato il backup RMAN, esegui prima questa query. Quindi monitora il consumo dello spazio di archiviazione.
SELECT round(SUM(filesize)/1024/1024, 3) SIZE_IN_MB FROM TABLE(rdsadmin.rds_file_util.listdir('<DIRECTORY_NAME>')); -
Per ottenere lo stato del processo di backup RMAN con il tempo impiegato per completarlo, esegui la seguente query.
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;
Informazioni correlate
Esecuzione di varie attività per istanze database Oracle
Esecuzione di attività comuni relative ai log per le istanze database Oracle
- Argomenti
- Database
- Lingua
- Italiano
