Metodi di backup Backup e Recovery Dr. Grega Dr. Barone Export e Import • L’utility export permette di eseguire una query sul db e scrivere l’output su un file chiamato file di dump di esportazione; • Possibilità di esportazione: intero db, tabelle specifiche oppure utenti specifici; • Oracle mette a disposizione i seguenti metodi di backup: – Backup logici che utilizzano Export (e la sua utility complementare, Import); – Backup logici con Data Pump Export e Import; – Backup dei file sysyem fisici: backup in linea e backup fuori linea; – Backup di file system incrementati tramite Recovery Manager (RMAN). Modalità di esportazione • Full: viene esportato l’intero db. Questo file comprende comandi di creazione per tutte le tablespace, tutti gli utenti, tutti gli oggetti, i dati e i privilegi contenuti nei loro schemi. • Tablespace: vengono esportati tutti gli oggetti contenuti nelle tablespace specificate. • User: vengono esportati gli oggetti di un utente. Inoltre, vengono esportati tutti gli indici e le concessioni creati dall’utente sui propri oggetti. • L’utility import legge il file di dump di esportazione ed esegue i comandi che trova in questo file. Ad esempio, create table seguito da un comando insert per caricare i dati. • Table: viene esportata una tabella specifica. Può essere scelto di esportare l’intero gruppo di tabelle possedute da un utente (specificando il possessore dello schema) o partizioni di tabelle. Evitare incoerenze nelle esportazioni Data Pump Export e Import • Programmare le esportazioni in modo che avvengano quando nessuno sta apportando modifiche alle tabelle. Utilizzare opzione Startup restrict. • Utilizzare il parametro consistent: disponibile solo per esportazioni complete. • Rendere inattivo il db. Transizioni e query in corso vengono messe in attesa e non sono ammesse connessioni di altri utenti. • Creazione di due file dei parametri. Un file conterrà i nomi della maggior parte delle tabelle presenti in un db (prima esportazione consistent=N); il secondo contiene i nomi delle tabelle per cui si dovrà mantenere la coerenza (seconda esportazione consistent=Y). • Fornisce una utility per l’estrazione e l’importazione di dati basata su server; • L’output di un processo di Data Pump export viene scritto su un file XML (situato nella directory dtpump) che sarà utilizzato per la ricreazione delle strutture scelte. • Vantaggi: – Consente di arrestare e riavviare processi, vedere lo stato dei processi in esecuzione e limitare i dati che vengono esportati e importati. – Viene effettuato il controllo dei vincoli in fase di import; – Guadagni di prestazioni e gestibilità. 1 Backup fuori linea • Backup fisico dei file di db eseguito dopo che il db è stato chiuso. • Viene effettuato il backup dei seguenti file: – – – – Tutti i file di dati; Tutti i control file; Tutti i redo log in linea; File dei parametri di inizializzazione (opzionale). • Comportano modifiche alla disponibilità del db, solitamente vengono programmati in modo da essere eseguiti nelle ore notturne. Backup in linea • Database eseguito in modalità ARCHIVELOG: in questa modalità, vengono archiviati i redo log in linea creando un log completo di tutte la transizioni all’interno del db. • Oracle utilizza un processo in background (Archiver) che crea una copia per ogni redo log file prima di sovrascriverlo. • Un backup in linea richiede l’impostazione di ogni tablespace in uno stato di backup, l’esecuzione del backup dei file di dati correlati e infine il ripristino delle tablespace nel loro stato normale. Backup in linea (2) • Viene effettuato il backup dei seguenti file: – Tutti i file di dati; – Un control file; – Tutti i redo log file archiviati; Esecuzione backup in linea 1. 2. • Sono molto potenti: – Forniscono un recupero puntuale e completo. – Permettono al db di rimanere aperto durante il backup di file system. Persino i db che non possono essere chiusi per requisiti dell’utente potranno comunque avere dei backup di file system. Recovery Manager • Viene fornita da Oracle una utility di gestione dei recuperi RMAN che permette agli utenti di eseguire il backup e di recuperare i database in modo automatizzato utilizzando Oracle Enterprise Manager (OEM). • Contiene quattro componenti: – – – – L’eseguibile RMAN; Uno o più db di destinazione; Il db con il catalogo dei recuperi; Il software di gestione dei supporti. • Consente il backup incrementale ossia eseguire il backup dei blocchi che sono cambiati rispetto l’ultimo backup. Un backup dei file di dati: a. b. c. Impostazione della tablespace nello stato di backup; Esecuzione del backup dei file di dati della tablespace; Ripristino della tablespace nel suo stato normale. a. Registazione dei file contenuti nella directory di destinazione del redo log archiviato; Backup dei file redo log archiviati, quindi cancellazione o compressione dei medesimi. Backup dei redo log file archiviati: b. 3. Backup del control file. • Questo processo viene automizzato con l’utility RMAN RMAN - Miglioramenti • Anteprime dei recuperi: utilizzando il comando restore database preview è possibile vedere in anteprima i backup necessari per un ripristino. • Backup incrementali più veloci: in precedenza veniva effettuata una scansione totale per trovare i blocchi modificati. Adesso, viene creato un file che tiene traccia dei blocchi modificati. • Backup uniti: invece di mantenere più livelli di backup su più giorni, è possibile fare in modo che i backup incrementali vengano uniti in modo dinamico con i backup precedenti. • Backup compressi: RMAN può comprimere i file di backup mentre vengono scritti, riducendo notevolmente i requisiti di spazio su disco. 2 Riferimenti – Backup e Recovery • Esercitazione: http://www.oracle.com/technology/obe/10gr2 _2day_dba/backup/backup.htm • Aspetti teorici: 2 Day DBA • Approfondimenti: Oracle Database Backup and Recovery Basics e Oracle Database Backup and Recovery Advanced User's Guide 3