Come configurare smartphone e PC. Portale informativo
  • casa
  • Windows 10
  • Informatica, internet, programmazione web, IT, Hi-Tech,…. Backup e ripristino dei dati del database Oracle

Informatica, internet, programmazione web, IT, Hi-Tech,…. Backup e ripristino dei dati del database Oracle

Ciao cari lettori del sito blog! Presento alla vostra attenzione un articolo su backup e ripristino di database Oracle. Penso che questo materiale sarà utile per gli amministratori che eseguono backup e ripristini su un server Oracle utilizzando Recovery Manager (RMAN).

Ripristinare il backup

Per comprendere l'articolo, è desiderabile avere una comprensione delle seguenti aree:

  • Concetti di database relazionale e fondamenti di amministrazione.
  • Ambiente del sistema operativo in cui è in esecuzione il database Oracle.

In realtà, questo articolo è l'introduzione a una serie di articoli sui concetti di base di backup e ripristino. Raccomando questo materiale a tutti gli utenti responsabili del backup e del ripristino. In generale, l'articolo interesserà tutti gli utenti, non solo quelli che utilizzano RMAN. In futuro, ho intenzione di dirvi di più sulle tecnologie di backup e ripristino utilizzando Recovery Manager. Gli utenti che gestiscono backup e ripristini senza RMAN dovranno solo familiarizzare con i concetti in questo articolo e nei successivi post di panoramica su backup e ripristini.

Pertanto, lo scopo di questa serie di articoli è fornire una panoramica dei concetti di backup e ripristino, rivedere i file di database Oracle relativi a backup e ripristino ed esplorare gli strumenti disponibili per eseguire il backup e ripristinare il database, proteggere dalla perdita di informazioni e altri errori.

Quindi cos'è il backup e il ripristino? Backup e ripristino coinvolge varie strategie e procedure associate alla protezione del database dalla perdita di informazioni e al ripristino del database dopo una qualche forma di perdita di dati.

Backup fisici e logici

BackupÈ una copia dei dati dal database che può essere utilizzata per il ripristino. I backup possono essere suddivisi in backup fisici e backup logici.

I backup fisici sono backup di file fisici utilizzati per archiviare e ripristinare il database, come file di dati, file di controllo, archivi di file di registro. In definitiva, ogni backup fisico è una copia di file che memorizzano le informazioni sul database in una posizione diversa (disco, nastro, ecc.).

I backup logici contengono dati logici (ad esempio, tabelle o stored procedure) esportati dal database utilizzando l'utilità di esportazione Oracle e archiviati come file binario, per la successiva importazione nel database utilizzando l'utilità di importazione Oracle, rispettivamente.

I backup fisici sono la base di qualsiasi strategia di backup e ripristino affidabile, mentre i backup logici sono in molti casi un'utile aggiunta ai backup fisici, ma non sono sufficienti per proteggere adeguatamente dalla perdita di informazioni senza backup fisici.

Inoltre, il termine "backup" in questo articolo su backup e ripristino significherà, prima di tutto, backup fisici (se non è specificato quali backup sono in questione), e fare un backup parte o tutto il database significherà - eseguire uno dei tipi di backup fisico. Il focus dell'articolo è principalmente sui backup fisici.

Errori e arresti anomali che richiedono il ripristino dal backup

Sebbene ci siano diversi tipi di problemi che possono interrompere il normale database Oracle o le operazioni di I/O, di solito solo due di essi richiedono l'intervento del DBA e il ripristino dei supporti: guasti effettivi dei supporti (dischi rigidi, ecc.) ed errori degli utenti.

Altri errori possono richiedere l'intervento del DBA per riavviare il database (dopo un arresto anomalo dell'istanza) o allocare spazio su disco aggiuntivo (dopo un errore di un'istruzione sql a causa, ad esempio, di un file di dati in overflow), ma queste situazioni generalmente non comportano la perdita di dati e non richiederà il ripristino da un backup.

Errori dell'utente

Gli errori dell'utente si verificano a causa di errori nella logica dell'applicazione o quando si devia dal manuale operativo, i dati nel database vengono modificati o cancellati in modo errato. La perdita di informazioni a causa di un errore dell'utente include sviste come l'eliminazione di tabelle importanti, l'eliminazione o la modifica del contenuto di una tabella. Anche se la formazione degli utenti e l'attenta gestione dei privilegi possono proteggere dalla maggior parte degli errori degli utenti, la strategia di backup determinerà con quanta grazia si recuperano i dati persi quando l'errore dell'utente causa la perdita di informazioni.

Guasto dei supporti di memorizzazione

Errore multimedialeÈ un errore durante la lettura o la scrittura di un file su disco, necessario per il funzionamento del database, a causa di un problema fisico con il disco. per esempio, guasto alla testa. Qualsiasi file DB può essere danneggiato a causa di un guasto del supporto.

Il metodo di ripristino appropriato da un errore del supporto dipende dai file interessati dall'errore e dai tipi di backup disponibili.

Soluzioni di backup e ripristino Oracle: RMAN e backup personalizzati

Per backup e ripristini basati su backup fisici, hai due soluzioni:

  • Responsabile del recupero- uno strumento (funziona dalla riga di comando o dalla GUI di Enterprise Manager) che si integra con le sessioni in esecuzione sul server Oracle per eseguire una serie di azioni relative al backup e al ripristino, nonché per mantenere la cronologia dei backup
  • Tradizionale backup e ripristino personalizzati(cioè implementato e controllato dall'utente stesso) quando si manipolano direttamente i file che compongono il database utilizzando i comandi del sistema operativo e le funzionalità di backup e ripristino SQL * Plus

Entrambi i metodi sono supportati da Oracle Corporation e sono completamente documentati. Recovery Manager, tuttavia, è la soluzione preferita per il backup e il ripristino dei database. Può eseguire gli stessi tipi di backup e ripristino disponibili con backup e ripristino personalizzati, ma in un modo molto più semplice e RMAN fornisce anche un'interfaccia comune per le attività di backup su diversi sistemi operativi e offre una serie di tecnologie di backup non disponibili in manuale metodi di backup.

La maggior parte dell'articolo si concentrerà sui backup e sui ripristini RMAN. Ho intenzione di descrivere i metodi di backup e ripristino personalizzati in futuri articoli su backup e ripristino.

Qualunque sia il metodo utilizzato (RMAN o metodo personalizzato), è possibile integrare i backup fisici con backup logici degli oggetti dello schema, che vengono eseguiti tramite utilità di esportazione. I dati salvati in questo modo possono essere importati in seguito per ricreare questi oggetti dopo il ripristino da un backup fisico. Tuttavia, non prenderò in considerazione i backup logici in questo articolo (quindi voglio scrivere un articolo separato sui backup logici).

Grazie per l'attenzione! Non perdetevi il proseguimento dell'argomento su backup e ripristino nei prossimi articoli che cercherò di scrivere prossimamente. Buona fortuna!.

Esistono due modi per eseguire il backup dei dati del database Oracle:

  • Utilizzo degli strumenti del sistema operativo.
  • Utilizzando le utilità del database stesso.

Ciascuno di questi metodi presenta vantaggi e svantaggi. Nel caso di creazione di una copia di backup tramite il sistema operativo, è necessario che durante l'intero processo di creazione di una copia di backup l'istanza sia stata interrotta per evitare la mancata corrispondenza dei dati, cosa inaccettabile se il sistema deve funzionare in 24 ore. modalità /7. Il secondo inconveniente principale è la complessità di amministrare un gran numero di backup e la laboriosità di controllarli per errori.

Questi svantaggi possono essere evitati utilizzando le utilità del database, ma compaiono altri svantaggi, complessità della configurazione e sintassi dei comandi propri.

Le utilità di backup del database integrate sono principalmente exp ed expdp, che consentono di creare un backup logico (ovvero una copia di un oggetto di database). Questo metodo per creare una copia di backup è semplice, ma il suo principale svantaggio è il tempo necessario per ripristinare da una copia se è necessario reinstallare l'istanza e la possibilità di ripristinare un oggetto solo nel momento specifico del backup.

L'utilità più potente, creata da Oracle appositamente per la creazione di backup di database, è l'utilità RMAN. Che ti consente di creare una copia completa del database senza fermare l'istanza e ripristinarla in qualsiasi momento nel passato, monitora le copie obsolete e le elimina se necessario, oltre a controllarle per errori. Ma allo stesso tempo ha un grave inconveniente: è difficile da configurare e amministrare. Diamo un'occhiata più da vicino alla configurazione e all'amministrazione di questa utility.

RMAN è stato introdotto in 8g ed è stato migliorato nel tempo. Configuriamo questa utility per creare regolarmente backup del nostro database.

Prima di tutto, è necessario capire in cosa consiste il database e decidere con quale frequenza è necessario eseguire un backup. Nel nostro caso, questo è un database Oracle ed è composto dai seguenti file:

  • spazi tavola;
  • file di controllo;
  • ripetere i log;
  • file di dati (init.ora, spfile, tnsnames.ora, listener.ora, orapwd);

Dopo aver selezionato i dati da salvare, decidiamo la strategia di copia, ovvero selezioniamo la frequenza, il tipo di backup da creare e il tempo della loro conservazione. I backup sono full incremental - ovvero un file completamente copiato, incrementale cumulativo - quando la copia contiene solo la differenza tra lo stato corrente e lo stato al momento dell'ultimo backup incrementale e differenziale incrementale - tali copie contengono la differenza tra lo stato corrente stato e lo stato al momento dell'ultimo backup. La scelta della strategia è determinata dalla modalità di funzionamento del database, se si tratta di un database con modifiche frequenti, è auspicabile effettuare copie complete incrementali più spesso, questo consentirà di ripristinare rapidamente il funzionamento del database dopo un fallimento, perché non è necessario eseguire un numero elevato di transazioni. Se questo database viene utilizzato principalmente per l'archiviazione e la lettura, le copie incrementali possono essere eseguite raramente e limitate a quelle cumulative regolari.

Il nostro database viene utilizzato principalmente per l'archiviazione e cambia poco nel tempo, quindi, sceglieremo la seguente strategia: creare una copia incrementale una volta a settimana 3 notti la domenica e creare copie cumulative ogni sera alle 3, questo ti consentirà per ripristinare rapidamente il database senza occupare molto spazio su disco utilizzando un massimo di 2 copie.

Dopo aver deciso cosa copiare e con quale frequenza, possiamo procedere alla configurazione di un'istanza di database. Prima di tutto, dovresti assicurarti che il database stia funzionando in modalità archivio archivelog, puoi verificarlo interrogando:

Seleziona log_mode da v $ database; da qualsiasi utente con diritti sysdba. Se la richiesta ha restituito archivelog, allora tutto è in ordine, vai all'elemento successivo, se noarchivelog, devi riavviare il database in modalità archivelog. Per fare ciò, è necessario riavviare la base in modalità di montaggio con il comando:
avvio montare immediatamente ed eseguire il comando
alterare il registro di archivio del database; attiva la modalità archivelog, dopodiché non resta che aprire il database con il comando:
modificare il database aperto;

Conservare una copia dei registri di ripristino è necessario per creare copie hot incrementali coerenti del database, nonché per poter ripristinare lo stato del database a qualsiasi punto nel passato.

Dopo aver impostato il database in modalità archivelog, è necessario impostare i parametri dell'ambito di ripristino batch su di esso. Controlliamo se sono già impostati dalla query:

Seleziona nome, valore da v $ parametro dove nome come "db_recovery_file_dest%"; se non impostato, impostalo con i comandi:
altera il set di sistema db_recovery_file_dest_size = 50G scope = entrambi; imposta la dimensione massima dell'area di ripristino batch e
altera il set di sistema db_recovery_file_dest = "/ storage / recovery_area" scope = entrambi; specifica la posizione dell'area di ripristino batch nel file system. La creazione di un'area di ripristino batch è necessaria affinché rman possa eliminare autonomamente le copie obsolete, nonché tenere traccia dello spazio libero su disco rimanente e avvisare se rimane piccolo.

Dopo aver configurato l'istanza, puoi procedere alla configurazione dell'utility rman stessa collegandoti a rman con una sequenza di comandi

Rman connette l'utente di destinazione / [e-mail protetta] eseguire il comando
mostra tutto;

Per prima cosa configuriamo i parametri della sicurezza dei backup, questo viene fatto o tramite il parametro CONFIGURA POLITICA DI RITENZIONE, oppure viene impostato il numero di copie che vengono memorizzate contemporaneamente, oppure viene indicato il periodo in cui la copia è considerata rilevante. Imposta il parametro della finestra di ripristino su 7 giorni con il comando:

CONFIGURA POLITICA DI CONSERVAZIONE A FINESTRA DI RECUPERO DI 7 GIORNI; abilitare il backup automatico del file di controllo ogni volta che viene creato un backup verrà creata una copia del file di controllo:
CONFIGURA BACKUP AUTOMATICO FILE DI CONTROLLO ON; attiviamo l'ottimizzazione in modo che rman non crei copie di file, ci sono già copie di backup identiche a quella esistente:
CONFIGURA OTTIMIZZAZIONE BACKUP ATTIVA; e parallelizzare il processo di creazione del backup in 2 canali:
CONFIGURA TIPO DISPOSITIVO PARALLELISMO DISCO 2; Non cambieremo i parametri del dispositivo su cui vengono salvate le informazioni, la crittografia, la compressione, il formato del backup automatico del file di controllo e la dimensione massima del file di copia.

Dopo questa configurazione, non resta che creare file eseguibili per rman nel sistema operativo e aggiungerli all'utilità di pianificazione.

Per la resurrezione:

#! / bin / bash export ORACLE_HOME = / u01 / 11g / export NLS_LANG = american_america.AL32UTF8 export ORACLE_SID = kagu1251 rman connette l'utente di destinazione / passa BACKUP INCREMENTAL LEVEL 0 DATABASE; BACKUP DATAFILE "/oradata/db/admin/kagu/pfile/init.ora.6302012163819"; BACKUP DATAFILE "/ u01/11g/network/admin/ascoltatore.ora"; BACKUP DATAFILE "/ u01/11g/network/admin/tnsnames.ora"; BACKUP DATAFILE "/u01/11g/dbs/spfilekagu.ora"; FILE DATI DI BACKUP "/ u01/11g/dbs/orapwkagu1251";

Per il resto dei giorni:

#! / bin / bash export ORACLE_HOME = / u01 / 11g / export NLS_LANG = american_america.AL32UTF8 export ORACLE_SID = kagu1251 rman connette l'utente di destinazione / passa BACKUP INCREMENTAL LEVEL 1 DATABASE; BACKUP DATAFILE "/oradata/db/admin/kagu/pfile/init.ora.6302012163819"; BACKUP DATAFILE "/ u01/11g/network/admin/ascoltatore.ora"; BACKUP DATAFILE "/ u01/11g/network/admin/tnsnames.ora"; BACKUP DATAFILE "/u01/11g/dbs/spfilekagu.ora"; FILE DATI DI BACKUP "/ u01/11g/dbs/orapwkagu1251";

Per ripristinare l'intero database dopo la loro completa scomparsa, viene utilizzato il comando RESTORE DATABASE, dopo la sua esecuzione è necessario sincronizzare i dati utilizzando i log dell'archivio con il comando RECOVER DATABASE, il ripristino viene eseguito in modalità mount.

Per ripristinare un tablespace specifico, devi prima portarlo in modalità OFFLINE con il comando:

ALTER TABLESPACE utente OFFLINE;

Successivamente, ripristinalo e sincronizzalo:

RESTORE TABLESPACE utente; RECUPERA utente TABLESPACE; Al termine, passa alla modalità online con il comando:
ALTER TABLESPACE utente ONLINE;

Puoi anche ripristinare il database a un certo punto nel tempo per questo, esegui il comando:

IMPOSTA FINO ALL'ORA "29 gennaio 2013 20:00:00";

Questo ripristino deve essere eseguito quando il database è in modalità di montaggio e, all'apertura, specificare l'opzione RESETLOGS in modo che non vengano eseguite le modifiche salvate nei registri di ripristino creati dopo il punto di ripristino.

Per monitorare i backup creati è comodo il comando CROSSCHEK, che permette di verificare la disponibilità dei backup nell'area di ripristino batch e la possibilità di accedervi. Il comando VALIDATE viene utilizzato per testare i file di backup per errori logici o fisici.

Caratteristiche principali:

Immagine disco, backup su NAS, backup di file aperti (VSS), licenza perpetua
A partire da € 29

SOFTWARE DI BACKUP GRATUITO PER SERVER E WORKSTATION

SOLUZIONI SENZA BACKUP E PROFESSIONALI

Iperius è un'utility completa di Windows per il backup dei dati. È possibile utilizzare la versione Freeware (anche per Windows Server) per eseguire il backup dei file su NAS, dischi esterni, unità RDX, ecc. senza limiti di tempo - oppure scegli una versione enterprise, ricca di funzioni di backup e funzionalità avanzate: copia di file aperti (VSS), Drive Image per il disaster recovery, backup di macchine virtuali ESXi e Hyper-V, backup di database SQL Server e MySQL , Backup Exchange Server, backup su nastro LTO, backup su Cloud (Google Drive, Amazon S3, ecc.), backup su FTP / SFTP. A partire da Iperius Free è possibile attivare una prova della versione Full per testare tutte le funzionalità del software.

Console Iperius

TIENI SOTTO CONTROLLO TUTTI I BACKUP IN UN COLPO

Iperius Console è lo strumento avanzato per la gestione centralizzata e il monitoraggio dei tuoi computer e backup. Utilizzando l'applicazione desktop dedicata o solo il portale web, puoi visualizzare i risultati delle tue operazioni di backup, esaminare i dettagli di eventuali errori, impostare e personalizzare le pianificazioni di backup ed anche eseguire processi di backup in remoto. La console si integra perfettamente con tutti i prodotti di Iperius Suite, permettendo anche di aggiornare da remoto Iperius Backup all'ultima versione. La grande quantità di informazioni fornite mantiene gli utenti aggiornati sullo stato di ogni PC e Server su cui è installato Iperius, rendendo Iperius Console uno strumento di Monitoraggio IT estremamente utile, sia per i tuoi clienti che per la tua azienda.

Le operazioni di backup e ripristino in Oracle possono essere suddivise in tre tipi:

1. Il backup logico viene eseguito utilizzando l'utility exp inclusa in Oracle, che consente di esportare l'intero database, schemi o tabelle specificati. In caso di esportazione dell'intero database, viene eseguita una cosiddetta esportazione completa (in questo caso vengono esportate tutte le tabelle del database) o incrementale (vengono scaricate le tabelle che sono cambiate dall'ultima esportazione). Per Oracle 10g XE, in cui la dimensione del database non supera i 4 GB, è possibile utilizzare l'esportazione completa.

2. Backup fisico: eseguito dopo l'installazione del database e comporta la copia di file di dati, file di controllo, registri di ripristino in linea e il file init.ora con le impostazioni del database.

3. Il backup in linea viene effettuato nel database operando in modalità ARCHIVELOG. In questa modalità, viene eseguito il backup dei registri di ripristino in linea e tutte le transazioni vengono registrate.

Per i database di esempio di piccole dimensioni, il più semplice e affidabile è un backup logico completo e un backup fisico. I backup logici vengono eseguiti utilizzando l'utility exp.exe che si trova nella cartella oraclexe\app\oracle\product\10.2.0\server\BIN\. L'utility è un'applicazione console che riceve i parametri tramite la riga di comando. Poiché di solito ci sono molti parametri (5-10 pezzi), è conveniente creare un profilo con parametri e poi passarlo all'utilità di esportazione utilizzando il parametro parfile.

Consideriamo un esempio di profili tipici. Per cominciare, risolveremo il problema più comune: creare una copia di backup di uno o più schemi. Ad esempio, prendi in considerazione di copiare lo schema STUDENT con un tutorial di esempio. Per fare ciò, creare un file di testo exp_stud.prm contenente le seguenti righe:

USERID = nome utente / password
LOG = oraleOstud.log FILE = oraleOstud.dmp 0WNER = STUDENTE

Quindi esporteremo eseguendo il comando exp parfile = exp_stud.prm, che creerà un file ora10stud.dmp contenente una copia di backup dello schema STUDENT. Questo file ha un formato binario ed è molto ben compresso da qualsiasi archiviatore, quindi, per automatizzare la procedura di backup, conviene creare un file BAT contenente il comando export e chiamando l'archiviatore per comprimere il dump risultante.

Nel nostro caso il parametro USERID contiene il nome e la password per accedere al database, il parametro LOG specifica il nome del file in cui è scritto il log delle operazioni, il parametro FILE specifica il nome del file di backup, OWNER - uno o più schemi esportati (se vengono specificati più schemi, vengono elencati separati da virgole).

Per eseguire un'esportazione completa, il profilo cambierà leggermente:

USERID = nome utente / password
LOG = oraleOfull.log FILE = oraleOfull.dmp FULL = Y

Un punto importante è che l'esportazione di uno schema specifico può essere eseguita per conto del suo proprietario, ma per un'esportazione completa è necessario disporre del ruolo DBA, altrimenti il ​​tentativo di esportazione completa fallirà con l'errore EXP-00023 con il messaggio " Deve essere un DBA per eseguire l'esportazione di database completo o tablespace ". La dimensione del dump per un'esportazione completa di un database Oracle 10g XE vuoto è 43 MB (9 MB dopo la compressione WinRar). Si consiglia vivamente di eseguire backup periodici, anche su base formativa: sono decine e centinaia i casi in cui, durante lo studio di Oracle, un database viene danneggiato, un utente viene cancellato o un'altra operazione porta alla perdita di oggetti.

L'importazione booleana è un'operazione speculare dell'esportazione e viene eseguita utilizzando l'utilità IMP. Durante l'importazione, non è necessario importare tutte le informazioni nel dump: è possibile importare gli schemi o le tabelle specificati. È conveniente inserire i parametri dell'utilità IMP nei profili, ad esempio, per importare lo schema STUDENTE, è possibile applicare il seguente profilo:

USERID = studente / studente LOG = oralOstudimp.log FILE = oralOstud.dmp
RIGHE = Y
SOVVENZIONI = Y
INDICI = Y
FR0MUSER = STUDENTE
T0USER = STUDENTE

Il parametro FROMUSER specifica da quali account nel dump vengono prese le informazioni e TOUSER - in quali account vengono importate. Questa è una funzionalità molto utile dell'utilità di importazione in quanto consente di importare dati da uno schema in un altro.

I parametri ROWS (righe della tabella), GRANTS (permessi oggetto), INDEXES (indici) indicano quali tipi di oggetti vengono importati.

Consideriamo alcune situazioni tipiche incontrate nella pratica:

devi importare gli oggetti dell'account STUDENTE nell'account STUDENTE1. In questo caso occorre impostare i parametri FROMUSER = STUDENT e TOUSER = STUDENT1;

Prima dell'importazione è necessario eliminare tutti gli oggetti dallo schema, altrimenti il ​​processo di importazione genererà errori IMP-00015 per ogni tabella importata (in questo caso non viene eseguita l'importazione dei dati). Se per qualche motivo è necessario caricare i dati in una tabella esistente, è possibile utilizzare il parametro IGNORE = Y. che ignorerà gli errori durante la creazione di oggetti e continuerà a importare i dati. Tuttavia, se si utilizza il parametro IGNORE = Y, è necessario considerare che la duplicazione dei record può verificarsi nelle tabelle senza chiave primaria (poiché ogni operazione di importazione carica nuovi dati e i vecchi dati non vengono distrutti).

IMP ha una caratteristica interessante: invece di eseguire comandi nel database, questa utility li invia al registro, generando così script contenenti istruzioni DML. Per abilitare questa funzione è necessario specificare il parametro SHOW = Y.

Questo documento descrive le politiche e le procedure che devono essere seguite per eseguire il backup dei backup di livello aziendale Oracle utilizzando il software Bacula Enterprise Edition. Il documento include anche vari scenari per il ripristino di un backup Oracle.

Panoramica di Oracle Backup

Bacula Enterprise Edition utilizza un plug-in di backup Oracle unico per semplificare il backup e il ripristino Oracle. Il plug-in abilita metodi avanzati per i backup Oracle a caldo e a freddo e il ripristino di dati e configurazioni archiviati su server di decima e undicesima generazione. Il plug-in Oracle Database Backup consente di ripristinare Oracle in un momento specifico (prima del checkpoint), filtrare gli oggetti durante il backup e il ripristino Oracle. Consente inoltre di creare backup di Oracle con informazioni di configurazione come i parametri. Il plug-in di backup del database Oracle è supportato dalle piattaforme Linux a 32/64 bit supportate da Oracle, nonché dai database Oracle 10.x, 11.x.

Altri vantaggi del backup di Oracle con Bacula:

  • Quando si utilizza la modalità RMAN, il plug-in consente di creare backup Oracle incrementali e differenziali a livello di blocco.
  • Utilizzato per i successivi backup incrementali, il rilevamento delle modifiche di RMAN migliora notevolmente il backup scrivendo i blocchi modificati di ciascun file di dati nel file di rilevamento delle modifiche.
  • L'amministratore del database non dovrebbe avere le competenze per lavorare con il database Oracle o essere in grado di creare script complessi per il backup Oracle.
  • Questo plug-in per la creazione e il ripristino dei backup Oracle è anche inteso per il backup delle informazioni di configurazione come i parametri.

Questo documento introduce i vari metodi e strategie per eseguire il backup di Oracle utilizzando il software Bacula Enterprise Edition e il plug-in associato.

Glossario di Oracle Backup

In questo documento vengono utilizzati i seguenti termini:

  • ARCO(Registro archiviato)- un metodo standard utilizzato per garantire l'integrità dei dati. L'idea alla base di ARC è che le modifiche apportate ai file di dati (che contengono tabelle e indici) verranno scritte solo dopo che le modifiche sono state registrate, ovvero dopo che le voci di registro che descrivono le modifiche sono state migrate nella memoria permanente.
  • PITR Oracle Checkpoint Restore (PITR) ripristina il database in un momento specifico e quindi utilizza backup e rollback incrementali per ripristinare il database in un momento specifico. Il ripristino PITR viene talvolta definito ripristino incompleto, poiché il ripristino PITR ripristina il database in un punto specifico e la procedura stessa non utilizza tutti i file di registro di backup Oracle.
  • RMAN Oracle Recovery Manager o RMAN Utility, Command Line e lo strumento basato su Oracle Enterprise Manager è il metodo di backup e ripristino consigliato da Oracle per il database. L'utilità RMAN è progettata per funzionare direttamente con il server. L'utilità consente di identificare i blocchi di dati danneggiati durante il backup e il ripristino del database. L'utility RMAN ottimizza le prestazioni e il consumo di memoria durante i backup compattando i file e comprimendo un set di backup.
    http://docs.oracle.com/cd/B28359_01/backup.111/b28270/toc.htm
  • EXP/ IMP Le utilità Oracle export (exp)/import (imp) vengono utilizzate per eseguire il backup/ripristino del database logico. Durante l'esportazione, viene creato un dump degli oggetti del database sotto forma di file binario, che può quindi essere importato in un altro database Oracle.
  • Pompa dati La tecnologia Oracle Data Pump è un'alternativa più moderna, più veloce e più flessibile alle utility "exp" e "imp" utilizzate nelle versioni precedenti di Oracle. Sfortunatamente, questo nuovo metodo non supporta l'output dei dati direttamente in un file FIFO. Pertanto, l'uso di strumenti Pompa dati richiede di creare prima un dump di dati su disco e poi leggere quei dati utilizzando il Bacula Enterprise File Daemon. La versione corrente del plug-in di backup Oracle non supporta la tecnologia Data Pump.
  • SBT Per impostazione predefinita, RMAN invia tutti i backup Oracle a una directory di sistema specifica su disco. È inoltre possibile configurare RMAN in modo che i backup vengano creati su altri supporti, come i nastri magnetici, utilizzando il modulo SBT. Bacula agirà quindi come Media Manager ei dati verranno trasferiti direttamente da RMAN a Bacula.
  • liobk L'interfaccia SBT è implementata in base al file di libreria libobk.
  • Spazio tabella Il database è suddiviso in archivi logici denominati tablespace, raggruppati in base a una struttura logica. Ad esempio, i tablespace tendono a raggruppare tutti gli oggetti dell'applicazione per semplificare l'amministrazione.
  • schemaÈ una raccolta di oggetti di database. L'utente del database possiede lo schema. Lo schema ha lo stesso nome del suo utente. Gli oggetti dello schema sono strutture logiche direttamente correlate ai dati del database. Gli oggetti dello schema includono strutture come tabelle, viste, indici. (Non esiste alcuna relazione tra un tablespace e uno schema. Gli oggetti dello stesso schema possono trovarsi in diversi tablespace e i tablespace possono contenere oggetti dei loro diversi schemi.)
  • Esempio Un server database Oracle è costituito da un database Oracle e da un'istanza database Oracle. Ad ogni avvio del database, viene allocata l'area globale del sistema (SGA) e vengono avviati i processi in background di Oracle. La combinazione di processi in background e buffer di memoria è chiamata istanza Oracle.
  • SID L'ID di sistema Oracle (SID) viene utilizzato per identificare il database nel sistema. Per questo motivo, in un sistema non possono esistere più database con un SID univoco. Di norma, il SID è impostato dalla variabile "ORACLE_SID". In alternativa, puoi trovare questo identificatore nel primo campo (prima di 🙂 nel file /etc/oratab.
  • copia Ogni volta che il database viene aperto utilizzando il comando ALTER DATABASE OPEN RESETLOGS, viene creata una copia di questo tipo.
  • SCN Numero di modifica del sistema (SCN) - un numero in Oracle, che aumenta in sequenza con ogni modifica apportata al database: inserimento, aggiornamento, eliminazione. L'SCN è in aumento anche a causa dell'interazione con il database.
  • Ripristino Oracle- l'azione che porta all'estrazione dei dati dal backup. Dopo aver ripristinato il database, potrebbe essere necessario riportarlo allo stato originale, ovvero spostarlo in avanti fino a un determinato checkpoint.
  • Torna allo stato originaleÈ la procedura per aggiornare il file di dati recuperato utilizzando i log archiviati delle operazioni di "ripeti" ei log correnti, ovvero applicando le modifiche apportate al database dopo la creazione del backup.
  • Funzione Copia proxyÈ una funzionalità dell'utilità RMAN non supportata dall'attuale implementazione dell'interfaccia SBT di Bacula Enterprise.

Simboli

  • Valori tra parentesi< >inseriti dagli utenti, ad esempio deve essere sostituito con il numero ORACLE_SID corrente. Se il tuo numero ORACLE_SID è un test TEST, il file scritto come init .ora assomiglierà a initTEST.ora.
  • % significa che il comando deve essere eseguito da un utente normale.
  • # significa che il comando deve essere eseguito con un account di superutente.
  • RMAN> significa che il comando deve essere eseguito all'interno della sessione rman.
  • SQL> significa che il comando deve essere eseguito all'interno di una sessione sqlplus.
  1. Backup Oraclecon plugin

Scelta del metodo di backup Oracle: dump o utilità RMAN

La tabella seguente mostra i vantaggi dei metodi di ripristino del backup supportati da Bacula Enterprise Plugin per Oracle. Per scegliere quale metodo, lasciati guidare da funzionalità come la capacità di ripristinare un backup Oracle in un punto di controllo specificato, la capacità di filtrare gli oggetti durante il backup o il ripristino. Inoltre, l'utente può combinare dumping e metodi di utilità RMAN PITR per un cluster.

RMAN offre anche metodi moderni che consentono di inviare dati tramite l'interfaccia SBT di Bacula Enterprise, come nastro e disco contemporaneamente per un ripristino più rapido.

Funzione Scarico RMAN RMAN SBT
La possibilità di ripristinare un oggetto (tabella, diagramma...) Non Non
La possibilità di ripristinare un file (indice, database, tabella...) Non
Velocità di backup Oracle Basso Alto Alto
Tasso di recupero Basso Alto Alto *
Dimensione del backup Oracle Piccolo Grande Grande
Dimensione sul disco locale durante la creazione di un backup Niente Tutto il backup Niente
Dimensione sul disco locale durante il ripristino Niente Tutto il backup Oggetti richiesti
Funzionalità di ripristino del punto di arresto Non
Supporto per backup incrementali/differenziali Oracle Non
Recupero parallelo
Backup online Oracle
Consistenza
Ripristinabile in una versione principale precedente di Oracle Non Non Non

Tabella 1. Metodi per ripristinare Oracle

* Quando si utilizza l'interfaccia RMAN SBT, la velocità di ripristino dipenderà da vari elementi come il tipo di supporto (nastro o disco), la velocità di trasferimento di rete, la disponibilità di un dispositivo con un demone, ecc... Nella versione software Bacula Enterprise 6.4 e successive un dispositivo con un demone di guardia può utilizzare lo stesso volume del disco per più ripristini simultanei. Pertanto, è possibile eseguire più attività di ripristino e backup Oracle contemporaneamente.

Configurazione di RMAN SBT

Questa sezione della Guida dell'utente descrive come installare e configurare correttamente l'interfaccia Bacula Enterprise SBT utilizzando Oracle e RMAN.

Quando si crea un backup Oracle o si esegue un backup da RMAN, RMAN dovrà contattare il Bacula Enterprise Director centralizzato per informazioni su file e volumi o per eseguire un backup o un ripristino Oracle. Per stabilire la comunicazione, sono necessari i file di comando FIFO e b-console comuni.

Quando si utilizza il plug-in oracle-sbt-fd, il direttore non sarà in grado di avviare il backup Oracle dalla b-console o dalla pianificazione. Solo RMAN sarà in grado di avviare una sessione e avviare un backup. Tieni presente che stai ancora eseguendo un backup di sistema Oracle standard e quindi utilizza RunScript per richiamare automaticamente RMAN.

Configurazione di Bacula. Quando si utilizza l'interfaccia SBT, è necessario installare b-console (console Bacula). La console deve essere in grado di connettersi al director centralizzato e accedere al client locale, all'attività di backup Oracle e ad altre caratteristiche del pool.

Per utilizzare una console disabilitata, puoi utilizzare la seguente definizione di console:

Figura 1. Backup Oracle tra RMAN e Bacula

L'utente "oracolo" del sistema operativo Unix dovrebbe essere in grado di visualizzare b-console e leggere il file di configurazione corrispondente bconsole.conf che non è configurazione predefinita... Puoi copiare il file binario e di configurazione nella cartella / opt / bacula / oracle utilizzando i seguenti comandi Unix:

Importante: potrebbe essere necessaria una copia del binario b-console dopo ogni aggiornamento di Bacula Enterprise.

Esecuzione di attività parallele durante il backup di un database Oracle

Per eseguire un backup o un ripristino Oracle utilizzando più canali, è necessario assicurarsi che tutte le risorse del plug-in di backup del database Oracle richieste siano configurate correttamente utilizzando il comando Numero massimo di lavori simultanei per consentire attività parallele.

  • Regista: Regista (es: 100)
  • Direttore: Cliente (es: 10)
  • Direttore: Lavoro (es: 10)
  • Direttore: Magazzino (es: 10)
  • Memoria: Memoria (es: 100)
  • Archiviazione: dispositivo (es: 10 o 10 dispositivi raggruppati in Virtual Changer)
  • Cliente: FileDaemon (es: 10)

Per garantire che le attività di backup e ripristino vengano eseguite in parallelo utilizzando lo stesso Director Storage, la configurazione deve utilizzare l'unità Virtual Changer. Per configurazioni specifiche fare riferimento alla documentazione tecnica. Backup su disco.

Restrizioni multimediali

Oracle richiede che Bacula Enterprise Media Manager non combini flussi di dati da due sessioni API parallele sullo stesso dispositivo seriale. Ciò significa che se si utilizza un'unità a nastro per eseguire il backup del database Oracle, è necessario utilizzare un'unità a nastro diversa per ogni attività di backup parallelo. Questa limitazione non si applica alle unità disco. Questa limitazione presuppone un tempo di recupero particolarmente lungo.

Configurazione di Bacula SBT

liobk può essere configurato utilizzando il file /opt/bacula/oracle/sbt.conf o / opt / bacula / etc / sbt.conf o usando il comando RMAN INVIA... La tabella 2 mostra i descrittori utilizzati:

Parametro Descrizione Esempio
cliente Nome cliente Bacula client = oracle-fd
ripristinare il cliente Nome del client Bacula utilizzato per il ripristino restoreclient = oracle-fd
lavoro Comando B-console con argomenti

bconsole = "/ tmp / bconsole -n"

ripristino lavoro Il nome dell'attività di ripristino Bacula. Se nella configurazione sono specificate più attività di ripristino e questo parametro non viene utilizzato, il plug-in SBT selezionerà automaticamente la prima attività di ripristino specificata. restorejob = RestoreFiles
attendere il completamento del lavoro In attesa del completamento dell'attività alla fine della sessione SBT. Per impostazione predefinita, la sessione termina il più rapidamente possibile. Si noti che questa opzione deve essere utilizzata solo durante l'esecuzione di un backup da RMAN. attendere il completamento del lavoro
aggiornare Tipo di aggiornamento (directory locale). Se il nome del file è presente nella directory locale, il plugin risponde direttamente a RMAN senza essere contattato dal Bacula Director. Utilizzare il comando update = force per forzare il controllo del Bacula Director. aggiornamento = forza
lavoroopt Parametro attività aggiuntiva jobopt = "spooldata = no"
backupdir Cartella della directory locale backupdir = / opt / bacula / oracle
ctrlfile Percorso principale per controllare il file ctrlfile = / tmp / oracle
ctrltimeout Pausa durante la connessione a Bacula ctrltimeout = 300
riprovare Numero di tentativi di connessione a Bacula
localdir Cartella locale del file di dati che controllerà il plugin SBT prima di richiamare l'attività di ripristino Bacula.

Localdir = / tmp / @ ORACLE / sbt

Catalogare Nome della directory di Bacula catalogo = "MioCatalogo 2"
traccia File di traccia del percorso del file trace = / tmp / log.txt
eseguire il debug Livello di debug

Tabella 2. Configurazione di SBT libobk

I parametri minimi che devono essere specificati nel file di configurazione sono come client, task e b-console. Si noti che è necessario utilizzare le virgolette se l'elemento configurabile contiene spazi (ad esempio, b-console).

Queste impostazioni possono essere sovrascritte utilizzando il comando RMAN SEND.

Il comando SEND è limitato a 512 byte, quindi è possibile utilizzare più comandi SEND per impostare tutti i parametri. È meglio evitare percorsi lunghi quando si utilizza l'interfaccia SBT.

Configurazione del set di file

Il plug-in di backup Oracle SBT (oracle-sbt) accetta i parametri nel Job FileSet, come descritto nella Tabella 3.

Tabella 3. Parametri del plug-in Oracle SBT

Test della configurazione di sbt.conf

Per testare la configurazione del plug-in Bacula Enterprise Oracle SBT, root può utilizzare i seguenti comandi:

Quando si verifica un errore di connessione, apparirà un messaggio. Finché non configuri correttamente le impostazioni di connessione, non ha senso eseguire un backup Oracle RMAN.

Catalogo interno Bacula SBT

File Libobk Il software Bacula Enterprise utilizza una directory locale per memorizzare le informazioni su tutti i file. Queste informazioni potrebbero non essere aggiornate. Pertanto, è possibile utilizzare il parametro update = force nel file sbt.conf o il comando SEND per forzare la ricerca della directory Bacula.

La directory predefinita è memorizzata in / opt / bacula / oracle / bacula-sbt.cat e può essere parte di un normale backup del sistema.

La possibilità di salvare un backup di Oracle RMAN

Quando si utilizza il plug-in RMAN SBT Bacula Enterprise, la capacità di backup Oracle impostata dall'utility RMAN deve corrispondere al volume Bacula o al lavoro di memoria. Quando RMAN invia comandi per eliminare i file di backup, Bacula non tenterà di cancellare o eliminare nulla.

Esempi di backup Oracle

L'esempio seguente descrive come eseguire 3 attività di backup Bacula parallele contemporaneamente. In questo caso, l'utility RMAN invierà loro i dati utilizzando il cosiddetto algoritmo round-robin. Se RMAN non è in grado di comunicare con Bacula su uno o più canali, RMAN invierà automaticamente i dati a un canale disponibile. Ciò significa che se il tuo storage o director centralizzato è occupato (limitato dal numero di dispositivi o impostando il numero massimo di attività parallele), RMAN troverà automaticamente una via d'uscita.

In questo esempio, RMAN utilizza 3 attività Bacula per recuperare 3 file.

Configurazione modalità RMAN

Questa sezione della Guida per l'utente descrive come configurare l'utilità RMAN in modo che funzioni correttamente con la parte del plug-in di backup del database Oracle che non utilizza l'interfaccia SBT.

La versione corrente del plug-in di backup del database Oracle supporta solo i database avviati con ARCHIVELOG attivo.

Configurazione ARCHIVELOG in Oracle

Per utilizzare la modalità di creazione di backup Oracle con RMAN, il database deve essere avviato in modalità ARCHIVELOG. Per verificare come è configurato il tuo DB, puoi utilizzare il seguente comando SQL.

Per attivare la modalità di archiviazione per il database, è possibile utilizzare il comando ALTER DATABASE ARCHIVELOG nello stato SYSDBA.

  • Arrestare il database utilizzando il comando SHUTDOWN
  • Crea un backup del database
  • Modifica il file init .ora per configurare la posizione del file di registro archiviato
  • Avvia il database senza aprirlo usando il comando STARTUP MOUNT
  • Modificare la modalità di archiviazione con il comando ALTER DATABASE ARCHIVELOG; e aprilo con ALTER DATABASE OPEN;
  • Arrestare il database utilizzando il comando SHUTDOWN IMMEDIATE
  • Eseguire nuovamente il backup del database, poiché la modifica di ARCHIVELOG aggiornerà i file di controllo e renderà inutilizzabili i vecchi backup. Il plugin Bacula Enterprise per Oracle creerà un backup RMAN posizionato in una sottocartella nella posizione in cui si trova il registro archiviato, specificato nel file init .ora.

Ottimizzazione di un backup incrementale Oracle

La funzione di rilevamento delle modifiche dell'utilità di backup incrementale Oracle RMAN migliora l'efficienza di tali backup scrivendo i blocchi modificati in ciascun file di dati nel file di rilevamento delle modifiche. Quando il rilevamento delle modifiche è attivo, RMAN utilizza il file di rilevamento delle modifiche per identificare i blocchi modificati per creare backup incrementali. Ciò elimina la necessità di scansionare ogni blocco nel file di dati.

Dopo aver attivato la funzione di rilevamento delle modifiche, nel caso del primo backup completo, il sistema dovrà comunque eseguire la scansione di tutti i file di dati, poiché il file di rilevamento delle modifiche non riflette ancora lo stato di tutti i blocchi. Qualsiasi backup incrementale successivo che utilizza questo backup completo come padre utilizzerà il file di rilevamento delle modifiche.

Il seguente comando SQL, eseguito come sysdba, abilita la funzionalità di rilevamento delle modifiche e utilizza la posizione "/percorso / a / file" come posizione del file di registro archiviato. (Si noti che il file deve trovarsi in una cartella valida in cui l'utente Oracle può scrivere i dati).

Possibilità di salvare il backup RMAN

Se utilizzato in modalità RMAN con il plug-in Bacula Enterprise Oracle, ogni attività Bacula eseguirà RMAN per creare un set di backup. Si consiglia di configurare RMAN per eliminare i vecchi file dopo un certo periodo di tempo. Sebbene questa operazione possa essere eseguita immediatamente dopo il completamento del backup, si consiglia di conservare i dati su disco più a lungo in modo da non avere problemi con la possibilità di ripristinare Oracle ai checkpoint. Il seguente comando ti aiuterà a impostare il periodo di conservazione dei file Oracle su 7 giorni. Questo tempo dovrebbe essere sufficiente, a condizione di eseguire il backup di Oracle almeno una volta ogni 7 giorni.

Per ulteriori informazioni, vedere il manuale dell'utilità RMAN.

docs.oracle.com/cd/B28359_01/backup.111/b28270/rcmconfb.htm#i1019318

Configurazione del plug-in Oracle per RMAN

Quando si utilizza la funzione di ripristino PITR dell'utility RMAN, il plug-in Bacula Oracle richiederà l'attivazione della modalità Accurate. È necessario attivare la modalità Accurata nella risorsa dell'attività. Si prega di notare che, insieme al plug-in, la funzione Accurate viene utilizzata per garantire che tutti i nuovi file vengano salvati dal plug-in Bacula, ma non contrassegnati come eliminati, poiché potrebbero essere comunque utili.

In modalità RMAN, il plug-in per Oracle consente anche parametri aggiuntivi specificati tramite la riga di comando del plug-in. Vedi la tabella qui sotto:

Parametro Descrizione Predefinito Esempio
modalità È necessario attivare il backup PITR in modalità RMAN Scarico mode = rman
Oracle_user Utente root di Oracle Unix oracolo oracle_user = oracle10
sid Oracle SID SID = XE
Oracle_SID Oracle SID Oracle_SID = XE
Oracle_HOME Oracolo HOME ORACLE_HOME = / opt / oracle / ...
verboso Il pin RMAN viene visualizzato come 0 nell'attività verboso = 1
sbt Utilizzo di SBT in RMAN sbt
ctrlfile Percorso principale per controllare i file quando si utilizza SBT ctrlfile = / tmp / oracle

Tabella 4. Parametri del plugin per Oracle in modalità RMAN

Quindi, usando where = / o where =, il plugin caricherà quel file SQL nel tuo database. Se alcuni ruoli esistono già, nel registro lavori viene visualizzato un messaggio di errore. In alternativa, è possibile ripristinare il file users.sql in una directory locale, modificarlo e caricarlo utilizzando sqlplus per ripristinare qualsiasi parte del file selezionato.

Ripristino di un database Oracle. Per ripristinare uno schema utilizzando Bacula Enterprise Plugin per Oracle, è necessario selezionare lo schema della directory durante il comando di ripristino, la selezione deve contenere un file di dati (data.dmp) e uno script di creazione dello schema (user.sql).

Riso. 3 Il contenuto del database con un dump in BWeb

Una volta selezionata la directory del database, è possibile utilizzare il parametro where per ripristinare lo schema in un nuovo schema con un nome diverso. Per creare un nuovo nome schema, è necessario equiparare il parametro where a una singola parola che contenga i caratteri A..Z, 0-9 e _. Il plugin Bacula creerà quindi lo schema specificato e ripristinerà i dati su di esso.

Si consiglia di utilizzare sempre lettere maiuscole nei nomi dei circuiti. Il plug-in Bacula Enterprise Oracle ricreerà il nuovo schema utilizzando il nome specificato nel parametro where =. Se si utilizzano lettere maiuscole e minuscole nel nome, potrebbe essere necessario inserire tra virgolette il nome dello schema per accedervi.

Dopo il ripristino, potrebbe essere necessario reimpostare la password per lo schema appena creato utilizzando gli stessi parametri dello schema originale. Per fare ciò, esegui:

Se imposti il ​​parametro su never, il plugin Bacula controllerà l'elenco degli schemi e interromperà l'attività se lo schema recuperabile corrente esiste già.

Se il parametro dove è una directory (contenente /), il plugin Bacula ripristinerà tutti i file in quella directory. In questo modo sarai in grado di utilizzare la directory imp e ripristinare solo trigger, tabelle, indici, ecc.

Recupero di una tabella Oracle. Per ripristinare un singolo oggetto, ad esempio una tabella da un dump che hai creato, devi prima ripristinare il file dump in una directory locale. Quindi usa lo strumento imp per importare l'oggetto desiderato. Per ulteriori informazioni, vedere la documentazione sull'importazione di oggetti in Oracle.

Ripristina i file di dump Oracle in una directory. Per ripristinare i dump SQL in una directory, è possibile assegnare qualsiasi directory valida al parametro where.

Il processo di ripristino Oracle con il plug-in Bacula creerà le seguenti cartelle durante il ripristino dello schema SYS su Oracle SID XE e ripristinerà i file selezionati su di esso.

Ripristino dell'intero database Oracle. Per ripristinare tutte le configurazioni DB e DB, è sufficiente ripristinare tutti i file che si trovano in /@ORACLE/ , usa sostituisci = sempre e dove = /.

Limitazioni di backup e ripristino Oracle

I plugin non sono compatibili con le attività di copia / migrazione / VirtualFull per impostazione predefinita.

Principali articoli correlati