La situación que se nos dio fue que teníamos una base de datos que normalmente solía tener unos 20 o 30.000 documentos y en un momento puntual decidimos limpiarla.
Diario de una liberación de espacio.
La situación que se nos dio, fue que teníamos una base de datos que normalmente solía tener unos 20 o 30.000 documentos, y en un momento puntual, decidimos limpiarla.
Ya no se necesitaban tener esos documentos, y los pasamos a otra base de datos, borrando todos los documentos que contenía, pensábamos que se reduciría el espacio muy considerablemente, en esos momentos tenia unos 700Mb, pero nuestra sorpresa fue mayúscula al comprobar que apenas 2Mb era lo que habíamos liberado.
Dado nuestro servidor un NT Intel con Lotus Domino 5.0.4 español, estos fueron los procedimientos seguidos:
1.- Desde las propiedades de la base de datos se intenta liberar espacio, el resultado es negativo. Este proceso se realiza también con Lotus Administrator, pestaña de Archivos, Opción Herramientas, Compactar, también el resultado es negativo
2.- Se crea una vista en la cual la condición de la selección es todos, para ver si existen documentos perdidos. Sin éxito.
3.- Dado que era una base de datos que tiene documentos de perfil se eliminan todos ellos, con el siguiente agente:
Sub Initialize
Dim s As New NotesSession
Dim db As NotesDatabase
Dim col As NotesDocumentCollection
Set db = s.currentdatabase
Set col = db.GetProfileDocCollection("Externo")
Call col.RemoveAll(True)
End Sub
Recordemos que los documentos de perfil son a nivel de formulario, con lo cual se debe ejecutar el agente tantas veces como formularios de perfil.
4.- Por último recurrimos a la consola del servidor y lanzamos la tarea compact sobre la base de datos y funcionó, liberó 400Mb de espacio, dejando la base de datos en una situación más razonable, independientemente del gran número de elementos de diseño e imágenes. La razón puede venir, en que es una ejecución directa. Alguien me dijo una vez que la consola es como hablar cara a cara con el servidor Domino.
Concretamente este es el comando que se lanzó
Load compact "ruta y nombre" –S 10
Donde el parámetro –S 10 indica que se debe liberar espacio si hay al menos un 10% vacío.
Veamos el pantallazo.
Esta es la consola remota que se nos muestra desde Lotus Administrator. Aunque se puede lanzar también directamente en la consola del servidor, si en el servicio NT del servidor, le tenéis dicho que interactué con el escritorio.
Otro método similar a este es lanzarlo desde la línea de comandos, y que también nos funcionó posteriormente, aquí tenéis los ejemplos para varios sistemas operativos.
NT Intel: c:\notes> ncompact names.nsf
NT Alpha: c:\notes> acompact names.nsf
OS/2: c:\notes> icompact names.nsf
UNIX: /notes compact names.nsf
AS/400: c:\notes> compact names.nsf
Evidentemente se deben ajustar las rutas para nuestros casos concretos.
A continuación vamos a ver 2 pantallazos reales de cómo realizar esta operación sobre un Domino instalado sobre NT Intel
En esta primera pantalla vemos como desde el interfaz MSDOS, ejecutamos el programa ncompact.exe pasándole como único parámetro la ruta completa a la base de datos. Dado que se necesitan permisos de administrador para ejecutar esa tarea, se nos devuelve un prompt, en el que se nos solicita la contraseña del ID que tengamos especificado en la entrada del notes.ini [KeyFilename], al proporcionársela comenzará ; el compactado, tal y como se ve a continuación.
Daniel Pérez Clavero 22 de Mayo de 2001.
|