Backup del database in Oracle: esportare il database o utilizzare altri strumenti?


10

Una delle "pratiche" che ho visto sull'esecuzione di DBA nella mia organizzazione è quella di trattare un'esportazione completa del database usando strumenti come exp/ expdpcome backup.

Sarebbe una buona pratica? Quali sarebbero i vantaggi dell'utilizzo di RMAN rispetto a questo approccio?


La duplicazione del database è molto più semplice usando RMAN
Sumnibot il

Risposte:


7

Il vantaggio di RMAN è il recupero PITR - point in time. È possibile eseguire un backup RMAN dei DBF e un backup RMAN dei registri di ripetizione archiviati e ripristinare il database in qualsiasi momento fino al momento del backup del registro di ripetizione archiviato più recente. Lo svantaggio di questo approccio è che è molto a grana grossa: puoi recuperare solo a livello del tablespace.

Il vantaggio di exp / expdp è che hai una copia coerente del database che puoi semplicemente importare in un database vuoto appena creato. Tuttavia, non è possibile portarlo avanti: a questo punto è un database completamente separato e indipendente senza alcuna relazione logica con l'originale. Ma è facile recuperare solo una singola tabella o anche poche righe da un'esportazione.

Un buon approccio potrebbe essere il normale backup completo e incrementale di file di dati RMAN, backup continui di registri ripetuti archiviati (ad es. Non appena viene completato un backup di archivio, avviare immediatamente il successivo in modo da "trasmettere" i registri su nastro), quindi istruire i propri utenti nell'uso di exp / imp in modo che possano eseguire i propri "backup" (nel caso in cui desiderino una copia effettiva dei dati) e il flashback (in modo che possano fare i propri ripristini nel caso in cui DML vada storto).

Ricorda: un backup è destinato al DBA per il ripristino da un guasto irreversibile dell'hardware. Non è a vantaggio degli utenti finali (o trascorrerai tutto il tuo tempo a ripristinare un sistema di test e a copiare alcune righe sull'originale!).


5

Exp / Expdp come soluzione di backup è come dire che il negozio di ricambi auto è la tua automobile di backup. Tecnicamente ti farà tornare indietro e correre, ma non ti causerà altro che dolore e sofferenza.

Exp o Expdp possono essere utilizzati come backup secondario per backup a freddo del filesystem o backup a caldo o freddo rman (altri software client di backup Oracle di solito eseguono solo i comandi RMAN).

La metodologia tipica sarebbe la seguente:

1 cold backup weekly
1 hot backup daily

E se vuoi davvero essere prudente, trasporta periodicamente i log di ripristino ripristinati dal server (ogni ora funziona) o imposta una posizione remota per una seconda destinazione del registro di archivio.

- RMAN * nuovo -

La mia tipica sessione RMAN:

rman target=/

backup as compressed backupset database plus archivelog delete input;

delete obsolete;

exit

"Backup come set di backup compresso ...": puoi anche fare un'immagine, che è un byte per la copia byte dei file di dati. Questo sarebbe buono come quel backup settimanale.

"... database ...": abbastanza ovvio

"... plus archivelogs ...": ci dà il recupero point in time (e clonazione point in time [comando duplicato in rman])

"... elimina input": elimina gli archivi di cui è stato eseguito il backup. Puoi anche impostarlo per eliminare quelli di cui è stato eseguito il backup almeno due volte, ecc.

"elimina obsoleto": una volta configurato il criterio di conservazione di rman (il mio è di 5 giorni), verranno eliminati i backup esterni a quella finestra. Questo non significa che possiamo recuperare solo 5 giorni fa. Dovresti comunque avere quotidianamente i backup su nastro / off-server dell'area di ripristino flash. Significa solo che online avrai 5 giorni di recupero e successivamente dovrai ripristinare gli elementi dell'area di ripristino flash dal backup su nastro / off-server, quindi registrarli con rman per poterli utilizzare.

Ecco un registro reale di una sessione, leggermente modificato per il percorso, ecc:

oracle@prodserver[PROD]$ rman target=/

Recovery Manager: Release 10.2.0.4.0 - Production on Wed Jan 5 21:00:00 2011

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

connected to target database: PROD (DBID=randomnumber)

RMAN> backup
2> as compressed backupset
3> database
4> include current controlfile
5> plus archivelog delete input;
6> backup spfile;
7> delete obsolete;
8>

Starting backup at 05-JAN-11
current log archived
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=291 devtype=DISK
channel ORA_DISK_1: starting compressed archive log backupset
channel ORA_DISK_1: specifying archive log(s) in backup set
input archive log thread=1 sequence=743 recid=743 stamp=739623589
input archive log thread=1 sequence=744 recid=744 stamp=739623940
input archive log thread=1 sequence=745 recid=745 stamp=739624712
input archive log thread=1 sequence=746 recid=746 stamp=739625380
input archive log thread=1 sequence=747 recid=747 stamp=739659606
channel ORA_DISK_1: starting piece 1 at 05-JAN-11
channel ORA_DISK_1: finished piece 1 at 05-JAN-11
piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_annnn_TAG20110105T210008_6lb8kb4o_.bkp tag=TAG20110105T210008 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:26
channel ORA_DISK_1: deleting archive log(s)
archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_743_6l95ckxx_.arc recid=743 stamp=739623589
archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_744_6l95plo2_.arc recid=744 stamp=739623940
archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_745_6l96gpok_.arc recid=745 stamp=739624712
archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_746_6l973l32_.arc recid=746 stamp=739625380
archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_747_6lb8k57v_.arc recid=747 stamp=739659606
Finished backup at 05-JAN-11

Starting backup at 05-JAN-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting compressed full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00001 name=/u02/oradata/PROD/system01.dbf
input datafile fno=00005 name=/u02/oradata/PROD/software.dbf
input datafile fno=00003 name=/u02/oradata/PROD/sysaux01dbf
input datafile fno=00002 name=/u02/oradata/PROD/undotbs01.dbf
input datafile fno=00004 name=/u02/oradata/PROD/users.dbf
channel ORA_DISK_1: starting piece 1 at 05-JAN-11
channel ORA_DISK_1: finished piece 1 at 05-JAN-11
piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_nnndf_TAG20110105T210135_6lb8n0y4_.bkp tag=TAG20110105T210135 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:45
channel ORA_DISK_1: starting compressed full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current control file in backupset
including current SPFILE in backupset
channel ORA_DISK_1: starting piece 1 at 05-JAN-11
channel ORA_DISK_1: finished piece 1 at 05-JAN-11
piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_ncsnf_TAG20110105T210135_6lb8qblm_.bkp tag=TAG20110105T210135 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
Finished backup at 05-JAN-11

Starting backup at 05-JAN-11
current log archived
using channel ORA_DISK_1
channel ORA_DISK_1: starting compressed archive log backupset
channel ORA_DISK_1: specifying archive log(s) in backup set
input archive log thread=1 sequence=748 recid=748 stamp=739659803
channel ORA_DISK_1: starting piece 1 at 05-JAN-11
channel ORA_DISK_1: finished piece 1 at 05-JAN-11
piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_annnn_TAG20110105T210323_6lb8qf3l_.bkp tag=TAG20110105T210323 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
channel ORA_DISK_1: deleting archive log(s)
archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_748_6lb8qcrr_.arc recid=748 stamp=739659803
Finished backup at 05-JAN-11

Starting backup at 05-JAN-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current SPFILE in backupset
channel ORA_DISK_1: starting piece 1 at 05-JAN-11
channel ORA_DISK_1: finished piece 1 at 05-JAN-11
piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_nnsnf_TAG20110105T210329_6lb8qlnm_.bkp tag=TAG20110105T210329 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
Finished backup at 05-JAN-11

RMAN retention policy will be applied to the command
RMAN retention policy is set to recovery window of 5 days
using channel ORA_DISK_1
Deleting the following obsolete backups and copies:
Type                 Key    Completion Time    Filename/Handle
-------------------- ------ ------------------ --------------------
Backup Set           55     30-DEC-10        
  Backup Piece       55     30-DEC-10          /u03/oraflash/PROD/backupset/2010_12_30/o1_mf_nnndf_TAG20101230T210026_6ktg9v8w_.bkp
Backup Set           56     30-DEC-10        
  Backup Piece       56     30-DEC-10          /u03/oraflash/PROD/backupset/2010_12_30/o1_mf_ncsnf_TAG20101230T210026_6ktgdvnt_.bkp
Backup Set           57     30-DEC-10        
  Backup Piece       57     30-DEC-10          /u03/oraflash/PROD/backupset/2010_12_30/o1_mf_annnn_TAG20101230T210204_6ktgdy5j_.bkp
Backup Set           58     30-DEC-10        
  Backup Piece       58     30-DEC-10          /u03/oraflash/PROD/backupset/2010_12_30/o1_mf_nnsnf_TAG20101230T210210_6ktgf3pz_.bkp
Backup Set           59     31-DEC-10        
  Backup Piece       59     31-DEC-10          /u03/oraflash/PROD/backupset/2010_12_31/o1_mf_annnn_TAG20101231T210008_6kx2ob5r_.bkp
deleted backup piece
backup piece handle=/u03/oraflash/PROD/backupset/2010_12_30/o1_mf_nnndf_TAG20101230T210026_6ktg9v8w_.bkp recid=55 stamp=739141227
deleted backup piece
backup piece handle=/u03/oraflash/PROD/backupset/2010_12_30/o1_mf_ncsnf_TAG20101230T210026_6ktgdvnt_.bkp recid=56 stamp=739141323
deleted backup piece
backup piece handle=/u03/oraflash/PROD/backupset/2010_12_30/o1_mf_annnn_TAG20101230T210204_6ktgdy5j_.bkp recid=57 stamp=739141326
deleted backup piece
backup piece handle=/u03/oraflash/PROD/backupset/2010_12_30/o1_mf_nnsnf_TAG20101230T210210_6ktgf3pz_.bkp recid=58 stamp=739141331
deleted backup piece
backup piece handle=/u03/oraflash/PROD/backupset/2010_12_31/o1_mf_annnn_TAG20101231T210008_6kx2ob5r_.bkp recid=59 stamp=739227610
Deleted 5 objects


Recovery Manager complete.

1
Al giorno d'oggi non c'è davvero bisogno di pensare ai backup a freddo. E qual è il punto di un backup a caldo se non si esegue anche il backup dei registri di ripristino archiviati !?
Gaius,

Se sono necessari ulteriori dettagli, sarei felice di elaborare, altrimenti la maggior parte degli articoli su rman parla anche del backup del registro di ripristino archiviato. È la differenza tra: "database di backup" e "database di backup più archivi", con ovviamente tutte le ulteriori variazioni tra.
REW

Per favore, vieni avanti con la tua risposta!
Sathyajith Bhat,

Grazie @REW per la risposta dettagliata, vorrei
poterti fare

4

I vantaggi di RMAN sono i seguenti:

  • Criterio di conservazione automatica del backup implementato utilizzando la nozione di Windows. È possibile specificare per quanti giorni devono essere conservati i backup e scegliere un criterio per conservarli: vengono rimossi non appena scaduti o rimossi se non c'è spazio libero per i nuovi backup
  • Utilizzo dei canali per migliorare le prestazioni durante la scrittura su supporti o l'utilizzo di più controller del disco
  • Ripristino semplice: in pratica è sufficiente elencare i backup disponibili e specificare da cui si desidera eseguire il ripristino del database
  • RMAN può salvare i suoi metadati di backup in una tabella indipendente denominata repository RMAN, che può contenere un numero davvero elevato di record di tutti i backup eseguiti, al contrario del file di controllo
  • È possibile specificare il numero predefinito di duplicati del backup, inoltre quest'ultimo può essere salvato su diversi dischi fisici (supporti)
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.