Blog de Florent Appointaire

Blog sur les technologies Microsoft (Windows Server, System Center, Azure, Windows Azure Pack/Azure Stack, etc;)

SCOM2012

J’ai eu un problème avec l’espace disque qui contient la base de données OperationsManagerDW. En effet, cette dernière fait plus de 95 Go après 11 mois de mise en production. Il m’a donc été demandé de réduire la rétention de données qui est de base de 400 jours à 300 jours. Pour faire ceci, je me suis appuyé sur cet excellent tutoriel de Kevin Holman, qui s’appuie sur un utilitaire de D Savage qui se nomme dwdatarp.exe étant donné qu’il n’est malheureusement pas possible de le faire depuis la console SCOM..

Pour connaitre le nombre de jour de rétention des données ainsi que l’espace utilisé dans la DataWarehouse, utilisez l’exécutable dwdatarp.exe comme ceci :

dwdatarp.exe -s NomDuServeurDatawareHouse -d NomBaseDeDonnéesDataWarehouse > C:\Temp\dwdatarp\dwoutput.txt
dwdatarp.exe -s localhost -d OperationsManagerDW > C:\Temp\dwdatarp\dwoutput.txt 

Le résultat qui en ressort est le suivant :

image

Changeons maintenant la rétention des données des datasets. Dans mon cas, je changerai les datasets suivants :

  • Alert data set
  • Client Monitoring data set
  • Configuration dataset
  • Performance data set
  • Performance data set
  • State data set
  • State data set

On peut se douter que l’espace qui va être gagné sera considérable après la manipulation. Pour effectuer ceci, il suffit d’exécuter la commande suivante pour chaque Dataset :

dwdatarp.exe -s localhost -d OperationsManagerDW -ds “Dataset name” -a “Aggregation name” –m “Max Age”

Dans mon cas, je vais exécuter les commandes suivantes :

dwdatarp.exe -s localhost -d "OperationsManagerDW" -ds "Alert data set" -a "Raw data" -m "300"
dwdatarp.exe -s localhost -d "OperationsManagerDW" -ds "Client Monitoring data set" -a "Daily aggregations" -m "300"
dwdatarp.exe -s localhost -d "OperationsManagerDW" -ds "Configuration dataset" -a "Raw data" -m "300"
dwdatarp.exe -s localhost -d "OperationsManagerDW" -ds "DPM event dataset" -a "Raw data" -m "300"
dwdatarp.exe -s localhost -d "OperationsManagerDW" -ds "Performance data set" -a "Hourly aggregations" -m "300"
dwdatarp.exe -s localhost -d "OperationsManagerDW" -ds "Performance data set" -a "Daily aggregations" -m "300"
dwdatarp.exe -s localhost -d "OperationsManagerDW" -ds "State data set" -a "Hourly aggregations" -m "300"
dwdatarp.exe -s localhost -d "OperationsManagerDW" -ds "State data set" -a "Daily aggregations" -m "300"

Attention a bien exécuter ces commandes avec un compte qui a accès à la base de données DataWarehouse (OperationsManagerDW). Le résultat devrait être le suivant :

image

Pour vérifier que ces changements ont été effectués, il vous suffit de réutiliser la commande du début (dwdatarp.exe -s localhost -d OperationsManagerDW > C:\Temp\dwdatarp\dwoutput.txt ). Vous devriez avoir vos nouvelles valeurs :

image

Si vous souhaitez que le nettoyage de la base soit fait directement au lieu d’attendre qu’il se relance, il suffit de changer dans la base la valeur de la colonne GroomingIntervalMinutes :

UPDATE StandardDatasetAggregation SET GroomingIntervalMinutes = '5' WHERE GroomingIntervalMinutes = '240'

Une fois terminé, pour revenir à la configuration initial, il vous faut effectuer cette requête mais avec les jours inversés :

UPDATE StandardDatasetAggregation SET GroomingIntervalMinutes = '240' WHERE GroomingIntervalMinutes = '5'

Votre DataWarehouse est maintenant modifié et vous conserverez donc les données des 300 derniers jours.

Facebook Like
Anonymous