DBMS - Backup dei dati

Perdita di memoria volatile

Una memoria volatile come la RAM memorizza tutti i registri attivi, i buffer del disco e i dati correlati. Inoltre, memorizza tutte le transazioni attualmente in esecuzione. Cosa succede se un archivio così volatile si blocca improvvisamente? Ovviamente eliminerebbe tutti i log e le copie attive del database. Rende il ripristino quasi impossibile, poiché tutto ciò che è necessario per recuperare i dati viene perso.

Le seguenti tecniche possono essere adottate in caso di perdita di memoria volatile:

  • Possiamo avere checkpoints in più fasi in modo da salvare periodicamente il contenuto del database.

  • Uno stato del database attivo nella memoria volatile può essere periodicamente dumped su una memoria stabile, che può contenere anche log, transazioni attive e blocchi di buffer.

  • <dump> può essere contrassegnato in un file di registro, ogni volta che il contenuto del database viene scaricato da una memoria non volatile a una stabile.

Recupero

  • Quando il sistema si riprende da un errore, può ripristinare l'ultimo dump.

  • Può mantenere un elenco di ripristino e un elenco di annullamento come punti di controllo.

  • Può ripristinare il sistema consultando gli elenchi di annullamento-ripristino per ripristinare lo stato di tutte le transazioni fino all'ultimo checkpoint.

Backup e ripristino del database da errori catastrofici

Un errore catastrofico è quello in cui un dispositivo di archiviazione secondario stabile viene danneggiato. Con il dispositivo di archiviazione, tutti i dati preziosi archiviati all'interno vengono persi. Abbiamo due diverse strategie per recuperare i dati da un guasto così catastrofico:

  • Backup remoto & minu; Qui una copia di backup del database viene archiviata in una posizione remota da dove può essere ripristinata in caso di catastrofe.

  • In alternativa, è possibile eseguire backup del database su nastri magnetici e archiviarli in un luogo più sicuro. Questo backup può essere successivamente trasferito su un database appena installato per portarlo al punto di backup.

I database per adulti sono troppo voluminosi per essere sottoposti a backup frequentemente. In questi casi, abbiamo tecniche in cui possiamo ripristinare un database semplicemente guardando i suoi log. Quindi, tutto ciò che dobbiamo fare qui è eseguire un backup di tutti i registri a intervalli di tempo frequenti. È possibile eseguire il backup del database una volta alla settimana e il backup dei registri, essendo molto piccolo, può essere eseguito ogni giorno o il più frequentemente possibile.

Backup remoto

Il backup remoto fornisce un senso di sicurezza nel caso in cui la posizione principale in cui si trova il database venga distrutta. Il backup remoto può essere offline, in tempo reale o online. Nel caso in cui sia offline, viene mantenuto manualmente.

I sistemi di backup online sono più in tempo reale e salvavita per gli amministratori di database e gli investitori. Un sistema di backup in linea è un meccanismo in cui viene eseguito il backup di ogni bit dei dati in tempo reale simultaneamente in due luoghi distanti. Uno di questi è direttamente connesso al sistema e l'altro è conservato in un luogo remoto come backup.

Non appena l'archiviazione del database principale si guasta, il sistema di backup rileva l'errore e passa il sistema utente all'archivio remoto. A volte questo è così istantaneo che gli utenti non possono nemmeno rendersi conto di un fallimento.