La mayoría de los parámetros de IBM Db2 que configura para almacenar una geodatabase están relacionados con el bloqueo.
Los bloqueos mutuos pueden no ser comunes, lo que depende de la aplicación cliente y de la configuración de la base de datos. Tenga en cuenta que el problema puede agravarse con linajes de estados amplios. Db2 brinda parámetros de ajuste para controlar el tamaño de la lista de bloqueo (LOCKLIST), el porcentaje máximo de bloqueos que puede mantener una aplicación (MAXLOCKS), la cantidad de tiempo que una solicitud espera antes de que se adquiera un bloqueo (LOCKTIMEOUT), el intervalo de frecuencia para la detección de bloqueos mutuos (DLCHKTIME) y el comportamiento de reversión de los bloqueos mutuos (DB2LOCK_TO_RB).
El valor predeterminado para LOCKLIST y MAXLOCKS es AUTOMATIC, lo que permite el ajuste automático de estos parámetros. Esto permite que el regulador de memoria de Db2 dimensione dinámicamente los recursos de memoria de los diferentes consumidores de memoria. El ajuste automático se produce sólo cuando la memoria con esta función está habilitada en la base de datos (SELF_TUNING_MEM=ON).
Para ver la configuración de la lista de bloqueo, ejecute el siguiente comando:
db2 get db cfg
Max storage for lock list (4KB) (LOCKLIST) = 50
Interval for checking deadlock (ms) (DLCHKTIME) = 10000
Percent. of lock lists per application (MAXLOCKS) = 22
Lock time out (sec) (LOCKTIMEOUT) = -1
Max number of active applications (MAXAPPLS) = AUTOMATIC
- LOCKTIMEOUT
Para establecer la cantidad de tiempo que Db2 espera al intentar adquirir un bloqueo, modifique el parámetro LOCKTIMEOUT.
- DLCHKTIME
Para ajustar el período de tiempo entre las verificaciones de detección de bloqueos mutuos, ajuste el parámetro DLCHKTIME.
- DB2LOCK_TO_RB
El parámetro DB2LOCK_TO_RB especifica el comportamiento de la transacción cuando el tiempo de espera de un bloqueo excede el valor de LOCKTIMEOUT. Por defecto, un tiempo de espera de bloqueo elimina la transacción de solicitud. El comportamiento predeterminado debe ser suficiente para las geodatabases en Db2.
Para el valor de registro de DB2LOCK_TO_RB, utilice el comando db2set y busque DB2LOCK_TO_RB=.
Para obtener más información sobre cómo definir estos parámetros, consulte la documentación de Db2 en el IBM Knowledge Center.