Netbackup para DB2

Introducción

 

Netbackup para DB2 integra las características de copia de seguridad y restauración de DB2 con las capacidades de Netbackup para poder realizar las copias de seguridad de forma centralizada, con una gestión eficiente de los dispositivos y del ciclo de vida de las copias.

 

Los componentes de este agente son los siguientes:

 

 

  • «Vendor library»: es la librería que proporciona el interface de DB2 con Netbackup.
  • «User exit program»: dependiendo de la versión de DB2 tendremos que utilizar este programa para hacer copia de seguridad de los ficheros de log.
  • Ficheros de configuración y ejecución de las operaciones: será necesario personalizar con las características de nuestra instalación (db2.conf), así como crear plantillas para realizar las copias de seguridad y las restauraciones.
  • Cliente de Netbackup: que nos proporcionará un interfaz gráfico para poder realizar la configuración.

 

Configuración

 

Para configurar un cliente DB2, una vez instalado el cliente de Netbackup, hay que modificar el fichero db2.conf. Podemos utilizar la configuración de ejemplo que está en la siguiente ruta:

 

  •  Windows: install_path\Netbackup\dbext\db2\samples
  • Unix:/usr/openv/netbackup/ext_dv_ext/db2/scripts

 

Hay que copiarlo al directorio siguiente:

 

  •  Windows: install_path\Netbackup\dbext\db2\db2.conf
  • Unix: $DB2_Instance_Home/db2.conf

 

Las entradas necesarias en el fichero db2.conf son las siguiente:

 

Una entrada para decir que política y que planificación hace copia de la base de datos:

 

DATABASE origen
OBJECTTYPE DATABASE
POLICY db2_epereira-db2
SCHEDULE Default-Application-Backup
CLIENT_NAME epereira-db2
ENDOPER

 

Si se quiere utilizar como método de copia de los registros de transacciones el «user exit program» es necesario configurar también que queremos hacer, si copiar directamente a Netbackup (SAVE) o copiarlo a un directorio (COPY):

 

DATABASE origen
OBJECTTYPE ARCHIVE
POLICY DB2_Log_Policy
SCHEDULE User
ARCFUNC SAVE
#ARCFUNC COPY
#ARCDIR C:\MyLogs\arcdir\
#RETDIR C:\MyLogs\arcdir\
#ARCDIR /home/db2inst1/arcdir
#RETDIR /home/db2inst1/arcdir
ENDOPER

 

Si preferimos utilizar el «vendor library» para hacer copia de seguridad de los registros de transacciones serán necesarias estas líneas de configuración:

 

DATABASE origen
OBJECTTYPE ARCHIVE
POLICY db2_epereira-db2
SCHEDULE Default-Application-Backup
ENDOPER

 

Y para que DB2 sepa como hacer copia de los registros de transacciones será modificar la base de datos para especificar que tiene que utilizar la librería de Netbackup, ejecutando los siguientes comandos en el interprete de comandos de DB2:

 

C:\Program Files\IBM\SQLLIB\BIN>db2cmd /w /c /i db2

CONNECT TO "origen";

UPDATE DATABASE CONFIGURATION USING logarchmeth1 "VENDOR:C:\Program Files\Veritas\NetBackup\bin\nbdb2.dll"

 

Desde este momento, se podría hacer ya una copia de seguridad, si la queremos probar manualmente, podríamos ejecutar el siguiente comando en el interprete de comandos de DB2:

 

C:\Program Files\IBM\SQLLIB\BIN>db2cmd /w /c /i db2

db2 => connect to origen

Información de la conexión con la base de datos

Servidor bases datos   = DB2/NT64 11.1.4.4
ID autorización SQL    = ADMINIST...
Alias base datos local = ORIGEN

db2 => BACKUP DATABASE "origen" LOAD "C:\Program Files\Veritas\NetBackup\bin\nbdb2.dll" OPEN 1 SESSIONS

Copia de seguridad satisfactoria. La indicación de hora para esta imagen de
copia de seguridad es : 20190114185349

 

A continuación, podremos utilizar un «script» de ejemplo que vienen incluidos con el cliente en la misma ruta que el fichero db2.conf de ejemplo, o generar una plantilla con el cliente de Netbackup (Backup, Archive & Restore). Seleccionaremos la base de datos que queramos hacer copia de seguridad:

 

 

Y al seleccionar «Actions->Backup» se nos abrirá el asistente de configuración de DB2:

 

 

Que nos guiará para realizar la configuración de la plantilla. Primero será necesario introducir las credenciales para hacer copia de la base de datos:

 

 

Podremos elegir una plantilla ya creada o utilizar una nueva:

 

 

A continuación podremos optimizar los parámetros de la copia de seguridad:

 

 

Y por último podremos revisar la plantilla y guardarla con un nombre:

 

 

 

Ya podríamos crear una política de tipo DB2 en la que escribiremos en la lista de selección el nombre de la plantilla creada.

 

 

Restauracíon

 

La restauración de la base de datos en el mismo origen se puede hacer desde la interfaz gráfica (Backup, Archive & Restore) como cualquier otra copia de seguridad. Una vez seleccionada la base de datos que queremos restaurar, al elegir la opción correspondiente (Actions->Restore) se iniciará el asistente de DB2 para restauraciones. Lo primero que nos preguntará serán las credenciales para conectarse a la base de datos:

 

 

 

Después podremos elegir la fecha y hora de la que queremos restaurar, así como el instante para aplicar los registros de transacciones:

 

 

A continuación los parámetros para la restauración:

 

 

Así como elegir si la base de datos se va a recuperar o se va a dejar pendiente de aplicar registros de transacciones:

 

 

Y por último le daremos un nombre a la plantilla y la podremos ejecutar directamente:

 

 

 

En el caso de que se quiera restaurar en otro servidor y con otro nombre, será necesario hacer configuraciones adicionales. Suponiendo que queremos hacer las siguiente restauración:

 

  • Origen: servidor epereira-db2, base de datos «origen»
  • Destino: servidor epereira-db3, base de datos «destino»

 

Tendremos que hacer los siguientes cambios:

 

  • Configurar la restauración en otro cliente, creando en el master dentro del directorio «altnames» una fichero con el nombre del servidor donde queremos restaurar, en este caso un fichero con el nombre «epereira-db3» que dentro tenga una línea por cada servidor de los cuales queremos restaurar, en nuestro caso «epereira-db2». De esta forma, el cliente puede ver y restaurar las imágenes del servidor de origen.
  • Configurar en el servidor de destino (epereira-db3) los detalles de como hacer la redirección en el fichero db2.conf de la siguiente forma:

 

OBJECTTYPE ALTERNATE  # Restauración redirigida a otro cliente
SRCINST DB2   # Instancia de origen
SRCALIAS origen  # Nombre base de datos de origen
DESTINST DB2  # Instancia de destino
DESTALIAS destino # Base de datos de destino
ENDOPER # 


DATABASE origen   # Nombre de la base de datos de origen
OBJECTTYPE DATABASE    # Configuración de la copia de la base de datos
POLICY db2_epereira-db2   # Nombre de la política que se usó para hacer las copias de la bbdd
SCHEDULE Default-Application-Backup
CLIENT_NAME epereira-db2    # Nombre del cliente de origen
ENDOPER

DATABASE destino   # Datos para la configuración de la base de datos de destino
OBJECTTYPE DATABASE
POLICY db2_epereira-db3
SCHEDULE Default-Application-Backup
CLIENT_NAME epereira-db3
ENDOPER

DATABASE origen    # Nombre de la base de datos de origen
OBJECTTYPE ARCHIVE   # Configuración de la copia de los logs 
POLICY db2_epereira-db2    # Nombre de la política que se usó para hacer copia de los logs
SCHEDULE Default-Application-Backup
CLIENT_NAME epereira-db2    # Nombre del cliente de origen
ARCFUNC SAVE
ENDOPER

DATABASE destino
OBJECTTYPE ARCHIVE
POLICY db2_epereira-db3
SCHEDULE Default-Application-Backup
CLIENT_NAME epereira-db2
FORCE_BACKUP_CLIENT epereira-db3   # Importante la línea, ya que durante la restauración se pueden hacer copia de los logs y si no se usa el cliente correcto fallará
ARCFUNC SAVE
ENDOPER

 

Para hacer la restauración, tendremos que seguir los siguientes pasos:

 

Ejecutar el interprete de comandos de db2:

 

C:\Program Files\IBM\SQLLIB\BIN>db2cmd /w /c /i db2

 

Después iniciar la restauración de la base de datos añadiendo «redirect»:

 

db2 => restore database origen load "C:\Progra~1\Veritas\NetBackup\bin\nbdb2.dll" into destino redirect
 
SQL1277W  Se está realizando una operación de restauración redirigida. Durante
una restauración del espacio de tablas, solamente se pueden volver a
configurar las vías de acceso de los espacios de tablas que se están
restaurando. Durante una restauración de base de datos, las vías de acceso de
almacenamiento de los grupos de almacenamiento y los contenedores de tablas
DMS se pueden volver a configurar.
DB20000I  El mandato RESTORE DATABASE ha finalizado satisfactoriamente.

 

Después le tendremos que decir a DB2 donde guardar la base de datos:

 

db2 => set tablespace containers for 0 using automatic storage
 
DB20000I  El mandato SET TABLESPACE CONTAINERS ha finalizado
satisfactoriamente.

 

Y ya podremos continuar la restauración:

 

db2 => restore db origen continue

DB20000I  El mandato RESTORE DATABASE ha finalizado satisfactoriamente.

 

Y por último aplicar los logs:

 

db2 => rollforward db destino to end of logs and stop

Estado recuperación

Alias de base de datos de entrada      = destino
Núm. miembros que han devuelto estado  = 1

ID de miembro                          = 0
Estado de la recuperación en avance    = no pendiente
Siguiente archivo anot. cron. por leer =
Archivos de anot. cron. procesados     =  -
Última transacción comprometida        = 2019-01-14-17.54.00.000000 UTC

DB20000I  El mandato ROLLFORWARD ha finalizado satisfactoriamente.

 

Referencias

 

Veritas NetBackup™ for DB2 Administrator’s Guide

 

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *