Guide pour résoudre le problème de performances lié au verrouillage des pages dans Maximo sur Microsoft SQL Server

Problème

Des transactions lentes ou des blocages apparents lors des opérations multi-utilisateurs dans Maximo peuvent survenir si le verrouillage des pages n’est pas désactivé sur les tables et index.

Cause
  • Lors de l’installation ou de la mise à niveau de Maximo (version 6 ou supérieure) sur SQL Server, le verrouillage des pages n’est pas désactivé par défaut.
  • Le verrouillage des pages peut provoquer des problèmes de performances dans un environnement multi-utilisateurs.
Environnement
  • Base de données : Microsoft SQL Server.
  • Application : IBM Maximo.

Solution
Étape 1 : Connectez-vous à la base de données Maximo
  1. Utilisez SQL Server Management Studio (SSMS) pour vous connecter à la base de données Maximo.
Étape 2 : Génération des commandes pour désactiver le verrouillage des pages
  1. Redirigez la sortie de la requête vers un fichier :
    • Dans SSMS, accédez à Query > Results To > Results to File.
  2. Exécutez la requête suivante : SELECT ‘sp_indexoption  »’ + tablename +  »’,  »AllowPageLocks »,  »false » go’ FROM maxtable ORDER BY tablename;
    • Cette requête génère une série de commandes sp_indexoption pour chaque table dans la base de données.
Étape 3 : Modifiez le fichier généré
  1. Ouvrez le fichier généré :
    • Accédez à File > Open dans SSMS pour ouvrir le fichier.
  2. Nettoyez le fichier :
    • Supprimez les lignes d’en-tête et les lignes de comptage des lignes (row count) au début et à la fin du fichier.
  3. Exemple d’une commande générée :
    • La commande pour désactiver le verrouillage des pages pour une table ressemble à ceci : sp_indexoption ‘tablename’, ‘AllowPageLocks’, ‘false’ go
Étape 4 : Exécutez les commandes générées
  1. Sélectionnez toutes les commandes :
    • Dans SSMS, accédez à Edit > Select All.
  2. Exécutez les commandes :
    • Appuyez sur F5 pour exécuter toutes les commandes dans le fichier.
Résultat attendu
  • Le verrouillage des pages est désactivé pour toutes les tables et leurs index dans la base de données Maximo.
  • Une fois désactivé, le verrouillage des pages restera désactivé.
  • Si la configuration de la base de données Maximo (Maximo Database Configuration) recrée une table ou un index, elle maintiendra le verrouillage des pages désactivé.
Remarque importante
  • Cette opération doit être effectuée dans un environnement de test avant une mise en œuvre en production.
  • Assurez-vous que vous disposez d’une sauvegarde récente de la base de données avant d’effectuer ces modifications.
Bonus : Automatisation via Script SQL

Si vous gérez régulièrement plusieurs bases de données Maximo, vous pouvez automatiser ce processus à l’aide d’un script SQL ou d’un script PowerShell pour générer et exécuter les commandes sp_indexoption. N’hésitez pas à demander de l’aide pour créer un tel script.

maximo4you
maximo4you

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.