Utilidades

Realización de copias de seguridad en caliente

La utilidad diseñada para la realización "en caliente" de una copia de seguridad de la base de datos se denomina ttbackupdb. Esta utilidad permite la realización de la copia de seguridad en un directorio, definido como parámetro, y garantizando la total integridad de los datos.

Para llevar a cabo este proceso es requisito imprescindible que el CTSQL que se esté utilizando sea CTSQL Monitor y que el Monitor esté arrancado.

Al comenzar el proceso de copia de seguridad, la utilidad ttbackupdb tiene que comunicarse con los procesos CTSQL que accedan a la base de datos con el fin de notificarles que se ve a llevar a cabo una copia de seguridad, garantizando de esta forma el buen funcionamiento de la herramienta.

Funcionamiento

El funcionamiento de la utilidad ttbackupdb es el siguiente:

Cuando se lanza el proceso de copia de seguridad, ttbackupdb comprueba que el Monitor está iniciado. Si no es así, muestra un mensaje de error y el programa se cancela. Si el Monitor está iniciado, ttbackupdb envía un mensaje a todas las instancias CTSQL que están conectadas a la base de datos objeto de la copia. Cada vez que una sesión CTSQL recibe esta notificación se registran en un fichero temporal todas las modificaciones que se realizan en la base de datos durante la copia de seguridad.

Cuando todas las sesiones están enteradas de que hay una copia de seguridad en curso, ttbackupdb comienza a copiar tablas.

Al finalizar la copia de los datos, ttbackupdb lo notifica a los CTSQL conectados a la base de datos, ordenándoles que dejen de trabajar hasta que termine de integrar los datos modificados en la base de datos durante el proceso de copia.

Una vez que todos los CTSQL han recibido esta notificación, ttbackupdb integra en la copia de seguridad los datos modificados en la base de datos origen durante el proceso de copia, y que han sido guardados por cada sesión CTSQL en el fichero temporal referido anteriormente.

Cuando ttbackupdb termina de integrar los datos, envía la orden de continuar a todos los procesos CTSQL, quita de la zona de memoria compartida el flag de copia de seguridad y borra los ficheros temporales.

Este comando sólo copiará tablas que se encuentren dentro del directorio de la base de datos o en un directorio hijo. Si hubiese tablas de esa base de datos cuyos ficheros DAT e IDX estuviesen en un directorio distinto al de la base de datos, dichas tablas no serían copiadas.

Variables de entorno

Ejemplo

Puede ver un ejemplo práctico en el documento PDF