La plupart des paramètres IBM Db2 que vous configurez pour stocker une géodatabase sont liés au verrouillage.
Il est possible que des blocages surviennent de temps en temps, selon l'application client et la configuration de la base de données. Notez que le problème peut être aggravé par des généalogies d'état étendues. Db2 fournit des paramètres d'optimisation permettant de contrôler la taille de la liste des verrous (LOCKLIST), le pourcentage maximal de verrous qu'une application peut contenir (MAXLOCKS), la durée d'attente d'une requête pour l'acquisition d'un verrou (LOCKTIMEOUT), l'intervalle de détection entre deux blocages (DLCHKTIME) et le comportement de l'annulation d'un blocage (DB2LOCK_TO_RB).
La valeur par défaut pour LOCKLIST et MAXLOCKS est AUTOMATIC, ce qui a pour effet d’activer le réglage automatique de ces paramètres. Cela permet au système d’optimisation de la mémoire Db2 de dimensionner dynamiquement les ressources de mémoire entre les différents consommateurs. Le réglage automatique de la mémoire se produit uniquement si cette option est activée pour la base de données (SELF_TUNING_MEM=ON).
Pour afficher les paramètres de la liste des verrous, exécutez la commande suivante :
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
Pour définir la période d’attente de Db2 pour l’acquisition d’un verrouillage, modifiez le paramètre LOCKTIMEOUT.
- DLCHKTIME
Pour régler la période entre les vérifications de détection de blocage, ajustez le paramètre DLCHKTIME.
- DB2LOCK_TO_RB
DB2LOCK_TO_RB spécifie le comportement de la transaction lorsque la période d'attente d'un verrouillage dépasse LOCKTIMEOUT. Par défaut, une temporisation de verrou annule la transaction de requête. Le comportement par défaut doit inclure suffisamment de géodatabases dans Db2.
Pour la valeur de registre DB2LOCK_TO_RB, utilisez db2set et recherchez DB2LOCK_TO_RB=.
Reportez-vous à la documentation Db2 disponible dans IBM Knowledge Center pour plus d’informations sur la configuration de ces paramètres.