You are on page 1of 19

Mdulo 5

Respaldos y recuperacin
Eric U. Garca Cano Castillo

Tipos de respaldos

15/12/2017 dba@unica.unam.mx 2
Eric U. Garca Cano Castillo

15/12/2017 dba@unica.unam.mx 3
Eric U. Garca Cano Castillo

RESPALDOS LGICOS

15/12/2017 dba@unica.unam.mx 4
Eric U. Garca Cano Castillo

pg_dumpall es malo
Produce un nico script de salida. Esto impide
realizar un proceso de restauracin multihilo o
multiproceso (el proceso es ms lento).

Produce el respaldo de cada base, una despus


de la otra:
pg_dumpall es ms lento que mltiples pg_dump
ejecutados en paralelo.
El respaldo de bases individuales no es consistente en
un punto en el tiempo.
15/12/2017 dba@unica.unam.mx 5
Eric U. Garca Cano Castillo

pg_dumpall es malo

Las opciones de pg_dumpall son similares a las de


pg_dump, sin embargo, tiene muchas menos.

En resumen, es ms lento al respaldar, ms lento


al restaurar y ofrece menos control sobre los
respaldos que produce.

15/12/2017 dba@unica.unam.mx 6
Eric U. Garca Cano Castillo

Control de Concurrencia Multi-versin MVCC


Mantiene la informacin consistente de manera
interna.
Cada usuario tiene una snapshot de la BD.
Previene la consulta de informacin
inconsistente.
Provee aislamiento de transaccin en
transacciones concurrentes.
La lectura no bloquea la escritura y viceversa.
Ningn cambio ser visible hasta despus del
commit.

15/12/2017 dba@unica.unam.mx 7
Eric U. Garca Cano Castillo

MVCC
Los respaldos lgicos toman un snapshot de la
BD y sus transacciones.

Slo se puede recuperar hasta el momento del


snapshot del respaldo.

El snapshot se toma al tiempo que inicia la


ejecucin de pg_dump, NO cuando termina.

15/12/2017 dba@unica.unam.mx 8
Eric U. Garca Cano Castillo

RESPALDOS FSICOS

15/12/2017 dba@unica.unam.mx 9
Eric U. Garca Cano Castillo

Tipos de respaldos

15/12/2017 dba@unica.unam.mx 10
Eric U. Garca Cano Castillo

Archiver
Es un proceso opcional que por defecto est
desactivado.

Iniciar la base de datos en modo Archive significa


capturar la informacin de cada archivo WAL
lleno y guardarla en algn lugar antes de que el
segmento sea reciclado para volverlo a usar.

15/12/2017 dba@unica.unam.mx 11
Eric U. Garca Cano Castillo

Archiver

15/12/2017 dba@unica.unam.mx 12
Eric U. Garca Cano Castillo

Archiver
archive_mode = on

archive_command = cp %p
/usr/local/pgsql/wals/%f

cp pg_xlog/00000001000000A900000065
/usr/local/pgsql/wals/% 00000001000000A900000065

%p -> Path del archivo WAL


%f -> Nombre del archivo WAL

15/12/2017 dba@unica.unam.mx 13
Eric U. Garca Cano Castillo

Archiver

wal_level = archive

mkdir /usr/local/pgsql/wals

pg_ctl restart

ls lsh /usr/local/pgsql/pg_xlog

15/12/2017 dba@unica.unam.mx 14
Eric U. Garca Cano Castillo

Simulacin
Crear tabla1
CREATE TABLE tabla1 AS
SELECT * FROM pg_class, pg_description;

Crear respaldo completo en caliente


SELECT pg_start_bakcup(Etiqueta);

Utilizar el comando tar para comprimir el directorio


data.
tar C /usr/local/pgsql zcf fullbackup.tar.gz
/usr/local/pgsql/data

15/12/2017 dba@unica.unam.mx 15
Eric U. Garca Cano Castillo

Simulacin
Finalizar el respaldo completo
SELECT pg_stop_bakcup();

Crear otras tres tablas de prueba


CREATE TABLE tabla[2,3] AS
SELECT * FROM pg_class, pg_description;

15/12/2017 dba@unica.unam.mx 16
Eric U. Garca Cano Castillo

Hasta ahora tenemos


Tabla tabla1
Tabla tabla2
Tabla tabla3
Tabla tabla4
Respaldo fsico completo

15/12/2017 dba@unica.unam.mx 17
Eric U. Garca Cano Castillo

El desastre empieza
pg_ctl stop m immediate

mv /usr/local/pgsql/data
/usr/local/pgsql/data.old

mkdir /usr/local/pgsql/data

tar zxvf fullbackup

15/12/2017 dba@unica.unam.mx 18
Eric U. Garca Cano Castillo

15/12/2017 dba@unica.unam.mx 19

You might also like