Practica ASI-C6-ASGBD: Còpies de Seguretat I: pg dump, pg restrore
- Unitat Didàctica: Còpies de seguretat i Recuperació de Bases de dades
- Nucli d'Activitat: PostgreSQL
Contingut
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
- http://www.postgresql.org/docs/8.3/interactive/backup-dump.html - Documentació oficial d'Oracle
- Còpies_de_seguretat_de_Postgres_I - Teoria de la pràctica a la wiki
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