L’importanza dei backup

mercoledì 16 gennaio 2008 alle 16:21 | Pubblicato su Backup and Recovery, Installation and Configuration | 7 commenti

Credo che i backup siano l’ossessione di ogni buon DBA. Personalmente penso di essere paranoico, tant’è che le mie politiche di backup, potendomelo permettere prevedono:

1) backup full con RMAN su disco,

2) Export degli schemi (questo permette di trovare corruzioni logiche che RMAN potrebbe non trovare)

3) salvataggio del tutto su NASTRO

solitamente abbiamo 7 nastri, uno per ogni giorno della settimana, che vengono usati a rotazione.

Purtroppo in questa politica mancano due cose importanti, una verifica periodica della validità dei backup, che per essere affidabile deve consistere nel ripristino reale di un backup, su un’altra macchina; Una verifica giornaliera dei log del backup.

Ora accade che la verifica di validità non è fattibile per mancanza della macchina su cui testare il ripristino. Mentre la verifica dei log avviene a campione, in quanto io mi trovo a dover gestire dei database che si trovano in varie sedi con le quali non abbiamo connessioni dedicate. In più tali sedi non hanno a disposizione un mail server da utilizzare per l’invio di mail automatiche. Per cui l’unico soluzione è che qualcuni si colleghi periodicamente e dia un’occhiata ai log.

Quando ho visto alcuni giorni fa un post di Thomas Kyte ho avuto quasi una illuminazione. Il post di Tom fa riferimento a un’immagine che oggi purtroppo non è più disponibile a causa evidentemente di uno sforamento di banda causato indubbiamente dalla pubblicità fatta dal post. L’immagine in sostanza era uno screenshot in cui compariva un messaggio che più o meno recitava:

Manca un backup aggiornato del database, quindi continuare a lavorare con l’applicazione significa correre seri rischi di perdere i dati e quindi il proprio tempo. Se proprio incoscienti da voler rischiare ciò e continuare a lavorare allora cliccate qui

Il concetto più o meno era quella quello.

Allora ho pensato che in effetti noi gestiamo diverse installazioni di Oracle su cui gira solo la nostra applicazione, quindi sarebbe una buona idea loggare gli esiti dei backup su una tabella accessibile dall’applicazione e aggiungere all’applicazione un controllo iniziale su tale tabella e in caso di anomalie lanciasse un allarme.

Thomas indica questa come una caratteristica che dovrebbero avere i database, ma essendo il database solo il “back-end” di una o più applicazioni, sono le applicazioni che devono prevedere questa ipotesi. Oracle per questo  fornisce il “grid-control” (dal nome sembra un’arma di Goldrake) . Strumento molto interessante, ma decisamente non adatto alla mia situazione.

7 commenti »

RSS feed for comments on this post. TrackBack URI

  1. Perfettamente d’accordo sulla importanza di conoscere l’esito dei backup. Io controllo circa 40 istanze per una ventina di piattaforme ed ho “risolto” con script locali a ciascun server che inviano via ftp l’esito dei backup ad un server di controllo centralizzato. Per i clienti piu’ “pesanti” ho previsto anche un invito di e-mail ai gruppi di gestione. Saluti.

  2. Penso che la soluzione ai tuoi problemi di back up potrebbe essere l’utilizzo di uno di questi nuove sistemi di back on line.
    prova : MEMOPAL: 250GB di storage e file sharing. Per ora tutto gratis e poi 5GB gratis per sempre. E’ un buon prodotto.

  3. Questo MEMOPAL sembra interessante, solo che non ho capito come si fa a registrarsi o ad ottenere l’invito. Non ho provato a scaricare il programma perchè l’idea del client solo per windows (non open source) non mi piace.

  4. Memopal non sarà solo per windows ho letto che tra poco uscirà la versione anche per gli altri sistemi operativi: Linux e Mac…

  5. Salve, approfitto di questo spazio trovato dopo tutta la giornata (finora) passata a cercare qualcosa o qualcuno che possa aiutarmi a risolvere il mio problema, che è descritto in questo log:

    Connected to: Oracle9i Enterprise Edition Release 9.2.0.1.0 – Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.1.0 – Production
    Export done in WE8ISO8859P1 character set and AL16UTF16 NCHAR character set

    About to export the entire database …
    . exporting tablespace definitions
    . exporting profiles
    . exporting user definitions
    . exporting roles
    . exporting resource costs
    . exporting rollback segment definitions
    . exporting database links
    . exporting sequence numbers
    . exporting directory aliases
    . exporting context namespaces
    . exporting foreign function library names
    . exporting PUBLIC type synonyms
    . exporting private type synonyms
    . exporting object type definitions
    . exporting system procedural objects and actions
    . exporting pre-schema procedural objects and actions
    EXP-00008: ORACLE error 3113 encountered
    ORA-03113: end-of-file on communication channel
    EXP-00008: ORACLE error 1041 encountered
    ORA-01041: internal error. hostdef extension doesn’t exist
    EXP-00000: Export terminated unsuccessfully

    In buona sostanza non riesco a capire perchè non mi effettua l’export del db che risiede in una macchina virtuale che devo ogni volta riavviare per lanciare il comando manualmente. A questo punto tutto avviene regolarmente. Il problema mi si presenta da qualche tempo, prima ha funzionato sempre bene e non ho la più pallida idea di cosa possa essersi modificato. Grazie per l’attenzione.

  6. Non ho capito bene come questo export venga lanciato. Se è lanciato via rete la possibile causa è proprio un problema sulla connessione. Quello che non ho capito è cosa intendi esattamente con “che devo ogni volta riavviare per lanciare il comando manualmente”.
    Da una rapida ricerca sembra che l’errore ORA-01041 sia legato a problemi nella comunicazione client-server.

  7. Chiedo scusa se non mi sono espresso bene, cercherò di farlo adesso.
    Allora: l’export parte durante la notte in automatico, in locale nella macchina vitruale e, come da log, l’operazione non ha successo; a questo punto: se ripeto il comando a mano, il risultato è identico, se invece spengo la vitrual machine, al riavvio tutto funziona perfettamente, ma naturalmente il problema si ripresenta il giorno seguente.
    Spero di essere stato più chiaro, comunque grazie per aver dedicato del tempo alla mia richiesta.


Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Blog su WordPress.com.
Entries e commenti feeds.

%d blogger cliccano Mi Piace per questo: