Practica ASI-C6-ASGBD: Còpies de Seguretat I: pg dump, pg restrore

De wikijoan
Salta a la navegació Salta a la cerca
  • Unitat Didàctica: Còpies de seguretat i Recuperació de Bases de dades
  • Nucli d'Activitat: PostgreSQL

Objectius

  • aprendre a fer còpies de seguretat de PostgreSQL amb pg_dump, i fer la corresponent restauració amb psql o pg_restore
  • adonar-se de la importància de testejar el procés de recovery abans de què les bases de dades entrin en producció.
  • automatitzar les còpies de seguretat mitjançant scripts desatesos
  • comprovació periòdica de què s'estan realitzant correctament les còpies de seguretat

Desenvolupament

pg_dump és la forma habitual amb què fem còpies de seguretat a Postgres: dóna la possibilitat de copiar a un fitxer una còpia parcial o total d'una base de dades, o fins i tot de totes les bases de dades que hi ha en un clúster de bases de dades. A Oracle i MySQL tenim utilitats similars: exp, imp a Oracle i mysqldump al MySQL.

L'alumne disposa de la distribució Linux amb què treballa de forma habitual, amb una instal.lació del PostgreSQL Server.

pg_dump i pg_restore

  • Repassa els enllaços on s'explica la teoria de la pràctica
  • localitza els binaris pg_dump, psql i pg_restore (@)
  • llegeix el manual de pg_dump:
$ man pg_dump
  • si no vols utilitzar una de les bases de dades que tens disponible, crea una base de dades nova, i crea la taula empleat amb vàries files.
$ createdb -T template0 la_meva_bd
  • mitjançant pg_dump (utilitzant l'opció -Fc), crea una còpia sencera d'aquesta base de dades.
  • exporta a fitxer (text pla) l'esquema i les dades de la taula empleat (@)
  • elimina la taula empleat
  • importa amb psql l'esquema i les dades de la taula empleat.
  • elimina la base de dades (dropdb la_meva_bd)
  • importa amb pg_restore tota la base de dades la_meva_bd.
  • comprova que efectivament tens tots els objectes de la base de dades
  • Envia una relació de totes les comandes que has utilitzat (@)

copia_automatica.sh

  • A partir de la informació disponible, crea el script copia_automatica.sh per fer còpies de seguretat desateses, i edita el fitxer /etc/crontab per tal d'automatitzar aquesta tasca un cop al dia a les 3 de la matinada.
  • Envia el contingut del fitxer copia_automatica.sh i crontab (@)

Entrega

L'alumne entregarà tot el material que s'ha marcat com a entrega (@). Concretament, el contingut dels fitxers generats, les comandes de consola executades, i les qüestions que s'han proposat.

Recursos

Durarda

La durada prevista per a la pràctica és de quatre hores, inclosa la introducció teòrica per part del professor.

Avaluació

S'avaluarà l'assistència, la bona disposició al treball, i l'entrega de la pràctica dins el termini corresponent. L'alumne haurà de documentar els problemes i imprevistos que s'ha trobat en la realització de la pràctica, i com els ha afrontat.


creat per Joan Quintana Compte, abril 2009