290 likes | 470 Views
Ejecución de índices en Aleph. Manuel Alejandro Hernández Gutiérrez XVIII Reunión del GUELM Monterrey, Nuevo León, México 12 y 13 de mayo de 2014. Agenda. Índices disponibles en Aleph . Consideraciones previas a la ejecución de índices. Diagnóstico de resultados. Solución de errores.
E N D
Ejecución de índices en Aleph Manuel Alejandro Hernández Gutiérrez XVIII Reunión del GUELM Monterrey, Nuevo León, México 12 y 13 de mayo de 2014
Agenda • Índices disponibles en Aleph. • Consideraciones previas a la ejecución de índices. • Diagnóstico de resultados. • Solución de errores.
Índices disponibles en Aleph • Datos en Tablas Oracle (ZNNN) utilizados para acceder de manera rápida y precisa a la información almacenada en la base de datos del sistema. • Procesos batch para extraer la información de la base de datos, darle la estructura adecuada y cargarla en las Tablas Oracle que corresponda.
Índices disponibles en Aleph • Estos procesos se llevan a cabo: • Después de la carga de un alto volumen de registros en la base de datos. • Se han aplicado modificaciones a las Tablas de configuración del sistema. • Cuando se detectan problemas de funcionamiento en el índice que deban ser corregidos.
Índices disponibles en Aleph • Los siguientes procesos se consideran “base”, esto es que no requieren de ningún otro proceso y se pueden ejecutar en cualquier orden: • p_manage_01 • p_manage_05 • p_manage_07 • p_manage_27 • El proceso de enlace entre registros (p_manage_12), también puede definirse como un proceso independiente (“base”), sin embargo, la información de este índice puede requerirla otro u otros procesos de índices, lo que implica que deba ser ejecutado primero.
Índices disponibles en Aleph • El índice alfabético (HeadingsIndex – “p_manage_02”), puede ser utilizado en Aleph inmediatamente que terminó el proceso, sin embargo, existen índices adicionales a éste, que se deben ejecutar de manera conjunta al proceso “p_manage_02”; éstos procesos son: • p_manage_102 • p_manage_17 • p_manage_32
Consideraciones previas a la ejecución de índices • Procesos • Todos los procesos con excepción de “p_manage_105”, permiten la asignación de un parámetro de funcionamiento denominado “Número de procesos”. • Este componente permite aprovechar la capacidad de procesamiento disponible en el servidor en el que está instalado el sistema. • Los índices “Rebuild Word Index” & “UpdateHeadingsIndex”, se recomienda ejecutarlos con el valor “8” en “Número de procesos”. • Con el resto de los procesos de índices, se puede aplicar la regla de multiplicar por 2 el número de procesadores instalados en el servidor y el resultado definirlo en el campo “Número de procesos”. • En instalaciones con menos de 300,000 registros, especificar el valor “4” a este parámetro del proceso, resulta adecuado.
Consideraciones previas a la ejecución de índices • Si la ejecución de índices se realiza en la modalidad “ParalellIndexing” y el sistema está siendo utilizado, es recomendable reducir el valor de esta variable, para mantener un adecuado desempeño. • A partir de la versión 18, el valor máximo que se puede asignar como “Número de procesos” es 500. • En caso de que la Base de datos opere en modo ArchiveLog, el tiempo de duración del proceso de construcción del índice se puede incrementar en entre 25 y 50%; considerando que el cambio en el modo de trabajo de la Base de datos implica “respaldar en frío” antes y después del cambio, puede optar por no cambiar a No ArchiveLog.
Consideraciones previas a la ejecución de índices • Ciclos • Componente del sistema que permite definir la cantidad de registros que serán leídos, para extraer los datos que se procesaran y cargaran a las Tablas Oracle correspondientes al índice. • Permite reducir el tiempo de duración del proceso de construcción del índice. • La recomendación general es: • No es recomendable definir ciclos de 1000 registros ni de más de 50000.
Consideraciones previas a la ejecución de índices • El tamaño del ciclo se define en los parámetros “p_manage_NN_loop_lenght” del archivo “prof_library” ubicado en el subdirectorio raíz de la Base Aleph ($data_root).
Consideraciones previas a la ejecución de índices • Espacio en disco • La siguiente información es relevante para Bases de datos de hasta 300,000 registros: • Los procesos UpdateHeadingsIndex y Rebuild Word Index, requieren una cantidad de espacio de disco considerable. • El espacio que se necesitará para ordenar la información, dependerá del número de procesos y el tamaño del ciclo. • Un registro bibliográfico promedia 1 KB, con un aproximado de 100 “entradas” en el Word Index, puede requerir entre 10 y 20 KB la construcción de los datos del índice que se cargaran en la Base de datos.
Consideraciones previas a la ejecución de índices • Los directorios utilizados para alojar los archivos que se crearan en el proceso de construcción del índice, son: • $TMPDIR • $data_scratch • $data_files • En preparación para la ejecución de procesos de construcción de índices, aplique las opciones de limpieza, Util X del Menú de Utilerías, a los directorios mencionados. $TMPDIR
Consideraciones previas a la ejecución de índices • Espacio en Tablespaces de la Base de datos • Es importante verificar que la Base de datos tenga la capacidad de alojar la información de los índices que se llevaran a cabo. • La información proporcionada por la Util A/17/11, permite identificar la Tablespace en la que se almacena la información de cada uno de los índices. • Utilice la Util O/14/1 del Menú de Utilerías del Aleph, para verificar el espacio disponible en las Tablespaces de Oracle.
Consideraciones previas a la ejecución de índices • Verificación de tareas programadas • Es importante que se revise y confirme que no haya tareas programadas en el sistema, que coincidan con la hora especificada para la ejecución del proceso de construcción del índice. • Utilice la Util E/16/3 para verificar las tareas definidas en el jobdaemon de Aleph. • Revise las tareas activas en el crontab de los usuarios “aleph”, “oracle” e inclusive “root”. • Confirme que dispone del comando “gsort” en su sistema operativo.
Diagnóstico de resultados • Revise que el daemon asociado al proceso que ejecutó, no aparezca en el despliegue de la UtilC/1. • Verifique con la Util C/4, que la Base Aleph haya sido desbloqueada. • En el directorio $alephe_scratch se ubica la bitácora general del proceso de construcción del índice. • En el directorio $data_scratch se alojan archivos asociados con el índice, correspondientes a los ciclos, la fase en la que se encuentra el índice y de errores.
Diagnóstico de resultados • El sistema cuenta con un proceso de monitoreo y detección de fallas para los siguientes índices:
Diagnóstico de resultados • Si el proceso falla, en la bitácora general aparecerá el aviso “Exiting due to job suspension.” • Cuando esto ocurra, localice el archivo “<nombre_proceso_nn.err>” en el sub-directorio “$data_scratch, identifique y aplique el comando que le permitirá localizar la bitácora con la descripción del problema que originó la falla del proceso.
Solución de errores • En general, se recomienda permitir que el proceso de construcción del índice termine y posteriormente se apliquen las recomendaciones de las secciones anteriores. • Sin embargo, si se identifica que el proceso se queda “colgado”, se debe cancelar y también aplicar las recomendaciones. No se dispone de una Utilería para detener el proceso , es necesario hacerlo con el comando “kill” de sistema operativo. • Se pueden presentar errores del tipo: “FileNotFound”. En una de las fases del proceso pudieron ocurrir problemas de ordenamiento u otro que impidieron la creación del archivo requerido en una fase posterior del proceso.
Solución de errores • Si se presentan problemas de ordenamiento, confirme: • Disponibilidad del comando “gsort”. • Que el tamaño de los ciclos sea el adecuado en función del número de los registros a indizar. • Que haya suficiente espacio en disco. • Después de corregir el origen del problema, puede reiniciar el proceso de construcción del índice para que éste continúe o quitar el bloqueo a la Base Aleph, limpiar los directorios en los que se crean archivos de apoyo al proceso de construcción del índice y volver a ejecutar el índice. • Consulte a su asesor en Sistemas Lógicos.