Una base explotada continuamente siempre está registrando cambios, y adiciones o eliminaciones de registros. Realizar backups regulares de los datos es importante pero no permite (en caso de un incidente) recuperar los datos introducidos desde el último backup. Para responder a esta necesidad, 4D ahora ofrece una herramienta específica: el archivo de historial. Este archivo permite asegurar la seguridad permanente de los datos de la base.
Adicionalmente, 4D trabaja continuamente con una caché de datos en memoria. Todo cambio efectuado en los datos de la base se guarda temporalmente en la caché antes de escribirse en el disco duro. Esto acelera el funcionamiento de las aplicaciones; de hecho, acceder a la memoria es más rápido que acceder al disco duro. Si ocurre un incidente en la base antes de que los datos almacenados en la caché puedan escribirse en el disco, debe incluir el archivo de historial actual con el fin de restaurar completamente la base.
4D tiene funciones que analizan el contenido del archivo de historial, haciendo posible deshacer las operaciones realizadas con los datos de la base. Estas funciones son accesibles en el CSM: consulte las secciones Página Análisis de actividad y Página Retroceder.
El archivo de historial generado por 4D contiene todas las operaciones realizadas en los datos de las tablas con historial de la base, las cuales se registran secuencialmente. Por defecto, todas las tablas se guardan en el historial, es decir, se incluyen en el archivo de historial, pero se puede deseleccionar tablas individuales utilizando la propiedad Incluir en el archivo de historial.
De esta forma, cada operación efectuada por un usuario causa dos acciones simultáneas: la primera en la base (la instrucción se ejecuta normalmente) y la segunda en el archivo de historial (la descripción de la operación se registra). El archivo de historial se crea de manera independiente sin afectar o hacer más lento el trabajo del usuario. Una base sólo puede trabajar con un archivo de historial al tiempo. El archivo de historial registra los siguientes tipos de operaciones:
- apertura y cierre del archivo de datos,
- apertura y cierre de procesos (contextos),
- adición de registros o BLOBs,
- modificaciones de registros,
- eliminación de registros,
- creaciones y cierre de transacciones.
Para mayor información sobre estas acciones, consulte Página Análisis de actividad.
El archivo de historial es administrado por 4D, teniendo en cuenta por igual todas las operaciones que afectan el archivo de datos, sin importar las manipulaciones efectuadas por un usuario, los métodos 4D, el motor SQL, los plug-ins 4D(4D Write, 4D View, etc.), un navegador web.
El siguiente esquema resume el principio general de funcionamiento del archivo de historial:
![](../../picture/1360885/pict1360885.EN.png)
El archivo de historial actual se guarda automáticamente con el archivo de datos actual. Este mecanismo tiene dos ventajas principales:
- evitar la saturación del disco donde se guarda el archivo de historial. Sin un backup, el archivo de historial utilizaría eventualmente todo el espacio de disco disponible. Para cada backup de archivo de datos, 4D o 4D Server cierra el archivo de historial actual e inicia inmediatamente un nuevo archivo vacío, evitando el riesgo de saturación. El archivo de historial antiguo se archiva y eventualmente se destruye conforme al mecanismo para manejar los conjuntos de backups.
- Conservar los archivos de historial correspondientes a los backups con el fin de poder analizar o reparar más adelante una base. La integración de un archivo de historial sólo se puede realizar en la base que le corresponda. Es importante, para poder integrar correctamente un archivo de historial en un backup, tener archivos de backups y de historial archivados simultáneamente.
Por defecto, toda base creada con 4D utiliza un archivo de historial: la creación de este archivo es parte de la estrategia de backup automático (consulte Estrategia de backup automático). El archivo de historial se llama NombreArchivoDatos.journal y se ubica en la carpeta que contenga la estructura de la base.
En cualquier momento puede saber si su base utiliza un archivo de historial: simplemente verifique si la opción Utilizar el historial está seleccionada en la Página Backup/Configuración de las Propiedades de la base (ver Gestión del archivo de historial). Si deselecciona esta opción o si utiliza una base sin archivo de historial y quiere establecer una estrategia de backup con un archivo de historial, tendrá que crear uno.
Para crear un archivo de historial:
- En la Página Backup/Configuración de las Propiedades de la base, marque la opción Utilizar el historial.
El programa muestra una caja de diálogo estándar de creación de archivos. Por defecto el archivo de historial se llama NombreArchivoDatos.journal. - Conserve el nombre del archivo por defecto o elija otro nombre y seleccione la ubicación del archivo.
Si dispone de al menos dos discos duros, es recomendable ubicar el archivo de historial en un disco diferente del que contiene la base. En caso de que se pierda el disco de duro de la base, aún podrá llamar a su archivo de historial. - Haga clic en Guardar.
El disco y el nombre del archivo de historial abierto aparecen en el área “Utilizar el historial” de la caja de diálogo. Puede hacer clic en esta área para mostrar un menú pop-up que contenga las series de carpetas en el disco. - Valide la caja de diálogo Preferencias.
Nota: A partir de 4D v14, los nuevos mecanismos internos de generación y uso del archivo de historial se implementan con el fin de que este archivo sea más robusto. La utilización de un archivo de historial necesita que todas las tablas con historial tengan una llave primaria. Si este no es el caso (en una base convertida, por ejemplo), una caja de diálogo de advertencia indica que no es posible activar el archivo de historial, siempre y cuando las llaves primarias no se hayan definido correctamente para todas las tablas con historial. Con el fin de hacer que su aplicación sea compatible, puede usar el Definir la estructura de la base de datos. Este asistente verifica el estado de cada tabla y le permite definir una llave primaria.
Para crear un archivo de historial directamente, la base de datos debe estar en una de las siguientes situaciones (excepto por cumplir con temas relacionados con llaves primarias, ver arriba):
- el archivo de datos vacío,
- acaba de efectuar un backup de la base y todavía no se ha hecho ninguna modificación a los datos.
En todos los otros casos, cuando valide la caja de diálogo Preferencias, aparecerá una caja de diálogo de alerta para informarle que es necesario realizar un backup. Si hace clic en Aceptar, el backup inicia inmediatamente luego se activa el archivo de historial. Si hace clic en Cancelar, la solicitud se guarda pero la creación del archivo de historial se pospone y se creará sólo después del próximo backup de la base. Esta precaución es indispensable porque para restaurar una base después de algún incidente, necesitará una copia de la base en la cual se integren las operaciones grabadas en el archivo de historial.
Sin hacer nada más, todas las operaciones efectuadas en los datos se registran en este archivo y se utilizarán posteriormente cuando se abra la base.
Debe crear otro archivo de historial si crea un nuevo archivo de datos. Debe definir o crear otro archivo de historial si abre otro archivo de datos que no esté asociado a un archivo de historial (o si no está el archivo de historial).
Si quiere interrumpir el registro del archivo de historial actual, deseleccione la opción Utilizar historial en la página Página Backup/Configuración de las Propiedades de la base.
4D muestra un mensaje de alerta con el fin de recordarle que esta acción evita que aproveche la seguridad que ofrece el archivo de historial:
![](../../picture/511167/pict511167.es.png)
Si hace clic en el botón Cerrar, se cierra de inmediato el archivo de historial actual (no es necesario validar después la caja de diálogo de las Propiedades).
Si quiere cerrar el archivo de historial actual porque es demasiado grande, debe efectuar un backup del archivo de datos, lo que producirá un backup del historial.
Notas para 4D Server:
- El comando New log file cierra automáticamente el historial actual e inicia uno nuevo.
- Si por alguna razón el archivo de historial se vuelve inaccesible durante una sesión de trabajo, se genera el error 1274 y 4D Server no permite a los usuarios escribir o modificar los datos. Cuando el archivo de historial sea accesible de nuevo, es necesario hacer un backup.