DB2: copia de seguridad y recuperación

Este capítulo describe los métodos de copia de seguridad y restauración de la base de datos.

Introducción

Los métodos de respaldo y recuperación están diseñados para mantener nuestra información segura. En Command Line Interface (CLI) o Graphical User Interface (GUI) usando utilidades de respaldo y recuperación, puede realizar respaldo o restaurar los datos de bases de datos en DB2 UDB.

Inicio sesión

Los archivos de registro consisten en registros de errores, que se utilizan para recuperarse de los errores de la aplicación. Los registros mantienen el registro de cambios en la base de datos. Hay dos tipos de registro que se describen a continuación:

Registro circular

Es un método en el que los registros de transacciones antiguos se sobrescriben cuando existe la necesidad de asignar un nuevo archivo de registro de transacciones, borrando así las secuencias de los archivos de registro y reutilizándolos. Solo puede realizar copias de seguridad completas en modo fuera de línea. es decir, la base de datos debe estar fuera de línea para realizar la copia de seguridad completa.

Registro de archivo

Este modo admite la copia de seguridad en línea y la recuperación de la base de datos utilizando archivos de registro llamados recuperación en avance. El modo de copia de seguridad se puede cambiar de circular a archivo estableciendo logretain o userexit en ON. Para el registro de archivos, la base de datos de configuración de copia de seguridad requiere un directorio en el que se pueda escribir para el proceso DB2.

Apoyo

Utilizando Backupcomando puede tomar una copia de toda la base de datos. Esta copia de seguridad incluye archivos del sistema de base de datos, archivos de datos, archivos de registro, información de control, etc.

Puede realizar copias de seguridad mientras trabaja sin conexión y en línea.

Copia de seguridad sin conexión

Syntax: [Para enumerar las aplicaciones / bases de datos activas]

db2 list application

Output:

Auth Id  Application    Appl.      Application Id                                                
DB       # of   
         Name           Handle              
Name    Agents  
-------- -------------- ---------- ---------------------
----------------------------------------- -------- -----  
DB2INST1 db2bp          39         
*LOCAL.db2inst1.140722043938                                   
ONE      1

Syntax:[Para forzar la aplicación usando la aplicación. Id manejado]

db2 "force application (39)"

Output:

DB20000I  The FORCE APPLICATION command completed 
successfully.  

DB21024I  This command is asynchronous and may not 
be effective immediately.

Syntax: [Para terminar la conexión a la base de datos]

db2 terminate

Syntax: [Para desactivar la base de datos]

db2 deactivate database one

Syntax: [Para tomar el archivo de respaldo]

db2 backup database <db_name> to <location>

Example:

db2 backup database one to /home/db2inst1/

Output:

Backup successful. The timestamp for this backup image is : 
20140722105345

Copia de seguridad en línea

Para comenzar, debe cambiar el modo de Circular logging a Archive Logging.

Syntax: [Para comprobar si la base de datos utiliza un registro circular o de archivo]

db2 get db cfg for one | grep LOGARCH

Output:

First log archive method (LOGARCHMETH1) = OFF  
 Archive compression for logarchmeth1  (LOGARCHCOMPR1) = OFF 
 Options for logarchmeth1              (LOGARCHOPT1) =   
 Second log archive method             (LOGARCHMETH2) = OFF  
 Archive compression for logarchmeth2  (LOGARCHCOMPR2) = OFF  
 Options for logarchmeth2              (LOGARCHOPT2) =

En la salida anterior, los valores resaltados son [logarchmeth1 y logarchmeth2] en modo apagado, lo que implica que la base de datos actual está en modo “REGISTRO CIRCULAR”. Si necesita trabajar con el modo 'ARCHIVE LOGGING', debe cambiar o agregar una ruta en las variables logarchmeth1 y logarchmeth2 presentes en el archivo de configuración.

Actualizando logarchmeth1 con el directorio de archivo requerido

Syntax: [Para hacer directorios]

mkdir backup 
mkdir backup/ArchiveDest

Syntax: [Para proporcionar permisos de usuario para la carpeta]

chown db2inst1:db2iadm1 backup/ArchiveDest

Syntax: [Para actualizar la configuración LOGARCHMETH1]

db2 update database configuration for one using LOGARCHMETH1 
'DISK:/home/db2inst1/backup/ArchiveDest'

Puede realizar copias de seguridad sin conexión por seguridad, activar la base de datos y conectarse a ella.

Syntax: [Para realizar una copia de seguridad en línea]

db2 backup database one online to 
/home/db2inst1/onlinebackup/ compress include logs

Output:

db2 backup database one online to 
/home/db2inst1/onlinebackup/ compress include logs

Verifique el archivo de respaldo usando el siguiente comando:

Syntax:

db2ckbkp <location/backup file>

Example:

db2ckbkp 
/home/db2inst1/ONE.0.db2inst1.DBPART000.20140722112743.001

Listado del historial de archivos de respaldo

Syntax:

db2 list history backup all for one

Output:

List History File for one 
  
Number of matching file entries = 4 
 
Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log  
Backup ID  
 -- --- ------------------ ---- --- ------------ ------------ 
 --------------
  B  D  20140722105345001   F    D  S0000000.LOG S0000000.LOG 

 ------------------------------------------------------------ 
 ----------------   
 
 Contains 4 tablespace(s): 
 00001 SYSCATSPACE  
 
 00002 USERSPACE1
 
 00003 SYSTOOLSPACE 
 
 00004 TS1 
  ------------------------------------------------------------ 
  ---------------- 
  Comment: DB2 BACKUP ONE OFFLINE  
  
 Start Time: 20140722105345  
 
   End Time: 20140722105347
   
     Status: A
 ------------------------------------------------------------ 
 ---------------- 
 EID: 3 Location: /home/db2inst1 

 
 Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log  
 Backup ID
 -- --- ------------------ ---- --- ------------ ------------ 
 --------------  
  B  D  20140722112239000   N       S0000000.LOG S0000000.LOG   
 ------------------------------------------------------------ 
 ------------------------------------------------------------- 
 ------------------------------- 
 
 Comment: DB2 BACKUP ONE ONLINE  
 
 Start Time: 20140722112239 
 
   End Time: 20140722112240  
   
     Status: A 
 ------------------------------------------------------------ 
 ----------------  
  EID: 4 Location: 
SQLCA Information 
 
 sqlcaid : SQLCA     sqlcabc: 136   sqlcode: -2413   sqlerrml: 0 
 
 sqlerrmc:   
 sqlerrp : sqlubIni  
 sqlerrd : (1) 0                (2) 0                (3) 0 
 
           (4) 0                (5) 0                (6) 0  
		   
 sqlwarn : (1)      (2)      (3)      (4)        (5)       (6)  
 
           (7)      (8)      (9)      (10)       (11)  
 sqlstate: 
 
 Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log  
 Backup ID
  -- --- ------------------ ---- --- ------------ ------------ 
  -------------- 
   B  D  20140722112743001   F    D  S0000000.LOG S0000000.LOG   
 
 ------------------------------------------------------------ 
 ---------------- 
 Contains 4 tablespace(s): 
 
 00001 SYSCATSPACE 
 
 00002 USERSPACE1 
 
 00003 SYSTOOLSPACE 
 
 00004 TS1
  ------------------------------------------------------------- 
  ---------------- 
  Comment: DB2 BACKUP ONE OFFLINE 
  
 Start Time: 20140722112743 
 
   End Time: 20140722112743 
   
     Status: A 
 ------------------------------------------------------------- 
  ---------------- 
 EID: 5 Location: /home/db2inst1 
 
 Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log 
 Backup ID   
  ------------------------------------------------------------- 
  ----------------
  
R  D  20140722114519001   F                                
20140722112743 

 ------------------------------------------------------------ 
 ----------------  
 Contains 4 tablespace(s):  
 
 00001 SYSCATSPACE 
 
  00002 USERSPACE1 
  
 00003 SYSTOOLSPACE  
 
 00004 TS1
 ------------------------------------------------------------ 
 ----------------  
Comment: RESTORE ONE WITH RF
  
 Start Time: 20140722114519 
 
   End Time: 20140722115015  
     Status: A  
	 
 ------------------------------------------------------------ 
 ----------------  
  EID: 6 Location:

Restaurar la base de datos desde la copia de seguridad

Para restaurar la base de datos desde el archivo de respaldo, debe seguir la sintaxis dada:

Syntax:

db2 restore database <db_name> from <location> 
taken at <timestamp>

Example:

db2 restore database one from /home/db2inst1/ taken at 
20140722112743

Output:

SQL2523W  Warning!  Restoring to an existing database that is 
different from  
 
the database on the backup image, but have matching names. 
The target database  
 
will be overwritten by the backup version.  The Roll-forward 
recovery logs

associated with the target database will be deleted.  

Do you want to continue ? (y/n) y 
 
DB20000I  The RESTORE DATABASE command completed successfully.

Mueva hacia adelante todos los registros ubicados en el directorio de registros, incluidos los últimos cambios justo antes de la falla de la unidad de disco.

Syntax:

db2 rollforward db <db_name> to end of logs and stop

Example:

db2 rollforward db one to end of logs and stop

Output:

Rollforward Status  
 Input database alias                   = one  
 Number of members have returned status = 1  
 Member ID                              = 0  
 Rollforward status                     = not pending  
 Next log file to be read               =  
 Log files processed                    = S0000000.LOG - 
 S0000001.LOG  
 Last committed transaction            = 2014-07-22- 
 06.00.33.000000 UTC  
DB20000I  The ROLLFORWARD command completed successfully.