IBM Books
(C) IBM Corp. 2000

Manual de administración y del usuario de DB2 Net Search Extender

Utilización de los servicios de bloqueo

En Net Search Extender, existen diferentes tipos de bloqueos que controlan el acceso simultáneo a un índice. Los diferentes bloqueos dependen de si el índice de texto sólo se está leyendo, como sería en el caso de una petición de búsqueda, o de si es necesario calcular los cambios del índice de texto y grabarlos posteriormente en los archivos.

Durante db2text start, los servicios de bloqueo se inician de forma automática. En un índice de texto hay los siguientes tipos de bloqueo:

Bloqueo S
Para el acceso de sólo lectura compartido. Por ejemplo, solicitudes de búsqueda.

Bloqueo U
Para el acceso de lectura/grabación mientras se calculan los cambios en un índice (actualización) con acceso de lectura simultáneo. Por ejemplo, solicitudes de búsqueda.

Bloqueo X
Para el acceso exclusivo de lectura/grabación durante un breve período durante el que los cambios se escriben de hecho en el índice.

Bloqueo IX
Para el acceso intencionado exclusivo de lectura/grabación que evita nuevos bloqueos S mientras el proceso de actualización espera un bloqueo X.

Hay un servicio de bloqueo de Net Search Extender por instancia de DB2. El servicio de bloqueo mantiene los bloqueos para varias bases de datos.

El archivo de configuración de servicios de bloqueo se denomina db2extlm.cfg. Se encuentra en <instance_DIRINIPROPINST>/sqllib/db2ext en el caso de los sistemas UNIX y en <sqllib>\<INSTANCIADB2>\db2ext en el caso de Windows.

Los cambios en el archivo de configuración sólo surten efecto cuando se inician los servicios de instancia de Net Search Extender durante db2text start. Vea CONTROL para obtener más información. El usuario puede establecer los siguientes valores:

Los valores por omisión del archivo de configuración son los siguientes:

<default
         maxDbs         = "  8"
         maxIdxPerDb    = " 50"
         maxLocksPerIdx = "100"
 
         sWait = "  50"
         uWait = " 500"
         xWait = " 500"
 
         sAttempt = "50"
         uAttempt = "10"
         xAttempt = "60"
 
         latchTimeout = "80"
 
/>

La sintaxis es <atributo por omisión=valor.../> y los atributos tienen los siguientes significados:

maxDbs
Número de bases de datos que los servicios de bloqueo pueden gestionar (entero>1).

maxIdxPerDb
Número de índices por base de datos que pueden bloquearse (entero>1). Este valor es el mismo para todas las bases de datos.

maxLocksPerIdx
Número de bloqueos que pueden existir en un índice de forma simultánea (entero>1). Este valor es el mismo para todos los índices.

sWait/sAttempt
Cuando se solicita un bloqueo S, sAttempt es el número de intentos que se realizan si el bloqueo no se otorga de forma inmediata. sWait es el tiempo de espera entre estos intentos (ent>1). Estos parámetros también se aplican a los bloqueos IX.

uWait/uAttempt
Cuando se solicita un bloqueo U, uAttempt es el número de intentos que se realizan si el bloqueo no se otorga de forma inmediata. uWait es el tiempo de espera entre estos intentos (ent>1).

xWait/xAttempt
Cuando se solicita un bloqueo X, xAttempt es el número de intentos que se realizan si el bloqueo no se otorga de forma inmediata. xWait es el tiempo de espera entre estos intentos (ent>1).

latchTimeout
Es el tiempo de espera adicional para los servicios de bloqueo de intervalos. Para determinar el tiempo de espera total de un bloqueo, realice el siguiente cálculo:
tiempo de espera = nº intentos * (nº esperas + (2 * nº latchTimeout))

El tiempo de espera se calcula en milésimas de segundo. Tenga en cuenta que con cada intento se dobla el valor de latchTimeout cuando se añade al tiempo de espera total.


[ Principio de página | Página anterior | Página siguiente | Contenido | Índice ]