Backup e Recovery Metodi di backup Export e Import Modalità di

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