Paramètres d'initialisation DB2
Voici quelques paramètres DB2 que vous pouvez modifier pour utiliser votre géodatabase ArcSDE :
Paramètres affectant les verrous
Il est possible que les blocages ne soient pas rares, selon l'application cliente 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. Heureusement, 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 dans DB2 9 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
Pour la valeur de registre DB2LOCK_TO_RB, utilisez db2set et recherchez DB2LOCK_TO_RB=.
-
LOCKLIST et MAXLOCKS
Pour augmenter la capacité de la liste des verrous et le seuil de promotion de verrous, modifiez les paramètres LOCKLIST et MAXLOCKS. Pour définir LOCKLIST pour DB2 8 :
- Estimez le nombre maximal d'applications actives (MAXAPPLS, si défini).
- Estimez le nombre moyen de verrous par application.
- Estimez la taille inférieure et supérieure de la liste des verrous :
(Avg # locks per application * 36 * MAXAPPLS) / 4096 (Avg # locks per application * 72 * MAXAPPLS) / 4096
où 72 = # octets du premier verrou sur l'objet 36 = # octets des verrous supplémentaires sur l'objet
- Définissez un paramètre LOCKLIST initial entre les limites supérieure et inférieure.
Par exemple :
db2 update db cfg using LOCKLIST 200
- Déterminez le pourcentage de liste des verrous qu'une application unique peut consommer avant que ne se produise la promotion de verrous. Il peut s'agir d'un pourcentage fixe ou basé sur des volumes de transaction communs.
Par exemple, si les applications sont autorisées à deux fois le nombre moyen de verrous :
100 * (Avg # locks per application * 2 * 72 bytes per lock) / (LOCKLIST * 4096 bytes)
Définissez ensuite MAXLOCKS tel qu'indiqué dans l'instruction suivante :db2 update db cfg using MAXLOCKS 22
- Le réglage supplémentaire des paramètres de la liste des verrous implique l'utilisation des observateurs d'instantanés et d'événements. Recherchez les informations suivantes au niveau de la base de données:
- Mémoire totale de liste des verrous utilisée
- Nombre de promotions de verrous s'étant produites
- Utilisez l'observateur d'événements pour le nombre maximal de verrous détenus par une transaction.
-
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. Pour changer ce comportement afin d'annuler uniquement l'instruction à l'origine de la requête de verrou, modifiez DB2LOCK_TO_RB avec db2set DB2LOCK_TO_RB=STATEMENT. Cependant, le comportement par défaut convient normalement à ArcSDE.
Pour plus d'informations sur la définition de ces paramètres, reportez-vous à la rubrique Blocages dans une base de données DB2.
Consultez la documentation ou les manuels d'optimisation des performances DB2 pour obtenir des informations détaillées sur la définition correcte de ces paramètres.