Bonjour à tous,
Sous DB2 V9.5, j'ai crée une table MDC "X" clusterisée sur un champ "ORG" pour origine.
J'ai modifié le mode lock pour cette table et je l'ai fait passer a "blockinsert" avec l'alter qui va bien.
Actuellement, j'essaie de charger cette table avec l'ETL ODI qui lance en parallèle plusieurs flux et chaque flux de données provient d'une table source différente (valeur du champ origine différente) donc les flux sont censés ne pas se croiser au niveau block !
Voici mon problème :
Le traitement se passe bien jusqu'au moment ou un deadlock est détecté lorsque les flux tentent d'insérer les données dans la table cible "X" ==> suite au deadlock, le DB optimizer choisi une victime a achever ...
La log (créée avec le EVENT MONITOR) précise bien qu'il y'a interlockage de blocks de 2 sessions qui "s'attendent" ==> deadlock
Comme les flux de chargement en parallèle sont censés pointer vers des blocks différents j'ai regardé la gestion des indexs sur les tables MDC DB2 et je ne comprends tjrs pas ce deadlock (l'index composite est censé garantir le clustering)
Quelqu'un peut m'aider svp ?
Merci d'avance!!
A+
ThePsy
Partager