DW Grooming Issues
I have been noticing that my DW has been growing in size, more and more. Today I took a look: Dataset name Aggregation name Max Age Current Size, Kb ------------------------------ -------------------- ------- -------------------- Alert data set Raw data 365 117,344 ( 0%) Client Monitoring data set Raw data 30 0 ( 0%) Client Monitoring data set Daily aggregations 365 32 ( 0%) Configuration dataset Raw data 400 1,045,048 ( 2%) Event data set Raw data 100 2,669,736 ( 6%) Performance data set Raw data 180 1,246,000 ( 3%) Performance data set Hourly aggregations 60 20,403,184 ( 46%) Performance data set Daily aggregations 180 1,152,096 ( 3%) State data set Raw data 180 706,896 ( 2%) State data set Hourly aggregations 60 15,765,728 ( 35%) State data set Daily aggregations 365 1,381,128 ( 3%) Then, I noticed that I have really old perf.Hourly history in my DB (over 400 days) via one of the queries I found online. Then I tried running the stored procedure people mention: Exec standarddatasetgroom" with all the DataSetIDs I got from the StandardDatasetAggregation table in the OperationsManagerDW DB. They all ran in under a second, and my database is still enormous. I don't think grooming is happening at all, manually or automatically. What should I do? Thanks, Reuv
November 18th, 2010 5:38am

You can use dwdatarp.exe to change the grooming of the datawarehouse.It is available for download HERE . Kevin Holman also made a blog article about it, where he explains how to use this tool: Understanding and modifying Data Warehouse retention and grooming Certifications: MCSA 2003|MCSE 2003|MCTS(4*)| MCTIP:SA
Free Windows Admin Tool Kit Click here and download it now
November 18th, 2010 8:27am

The output generated above was using that tool, and I did change the threshholds. My point was that in spite of the configuration change, which before hand was already set to 360 and I lowered it to 180, it is still not deleting stale data.
November 18th, 2010 9:03am

The data warehouse DB is fully self maintaining. By the way how big is your datawarehouse and how many agents you have in total? What does this query gives you: select ds.datasetDefaultName AS 'Dataset Name', sda.AggregationTypeId AS 'Agg Type 0=raw, 20=Hourly, 30=Daily', sda.MaxDataAgeDays AS 'Retention Time in Days' from dataset ds, StandardDatasetAggregation sda WHERE ds.datasetid = sda.datasetid ORDER by ds.datasetDefaultName Certifications: MCSA 2003|MCSE 2003|MCTS(4*)| MCTIP:SA
Free Windows Admin Tool Kit Click here and download it now
November 18th, 2010 9:31am

This explains why you might find older data than your grooming settings, ESPECIALLY in very small databases like yours: http://nocentdocent.wordpress.com/2009/02/18/scom-data-warehouse-grooming/ Kevin Holman
November 18th, 2010 6:42pm

Hi, I really apreciate your help. in my case mi operationsmanagerdw now has 100GB, but it usually was 35 +- 5GB. from a month it shows a farter growing. I follow all your post and procedures but i think that in this case i have a seriously problem with the grooming procedures. this is te actual output from the dwdatarp. Dataset name Aggregation name Max Age Current Size, Kb ------------------------------ -------------------- ------- -------------------- Alert data set Raw data 400 721,976 ( 1%) Client Monitoring data set Raw data 30 0 ( 0%) Client Monitoring data set Daily aggregations 400 32 ( 0%) Configuration dataset Raw data 30 11,385,016 ( 18%) Event data set Raw data 10 32,837,544 ( 51%) Performance data set Raw data 15 1,378,816 ( 2%) Performance data set Hourly aggregations 240 9,497,072 ( 15%) Performance data set Daily aggregations 400 1,207,744 ( 2%) State data set Raw data 180 285,952 ( 0%) State data set Hourly aggregations 180 5,811,776 ( 9%) State data set Daily aggregations 400 733,384 ( 1%) And this one is how it was in last April 2012. This shows its normal behavior D:\Tools\dwdatarp\x86>dwdatarp.exe -s Apolo03\SCOM -d OperationsManagerDW Dataset name Aggregation name Max Age Current Size, Kb ------------------------------ -------------------- ------- -------------------- Alert data set Raw data 400 507,504 ( 2%) Client Monitoring data set Raw data 30 0 ( 0%) Client Monitoring data set Daily aggregations 400 32 ( 0%) Configuration dataset Raw data 30 10,825,272 ( 34%) Event data set Raw data 7 3,918,184 ( 12%) Performance data set Raw data 30 2,468,592 ( 8%) Performance data set Hourly aggregations 100 7,677,768 ( 24%) Performance data set Daily aggregations 400 1,188,368 ( 4%) State data set Raw data 180 265,760 ( 1%) State data set Hourly aggregations 180 4,889,408 ( 15%) State data set Daily aggregations 400 563,352 ( 2%) I tried to force the grooming by changing the max age, and also the frequency: using this sql: USE OperationsManagerDW UPDATE StandardDatasetAggregation SET GroomingIntervalMinutes = 30 WHERE GroomStoredProcedureName = 'EventGroom' USE OperationsManagerDW UPDATE StandardDatasetAggregation SET MaxRowsToGroom = 20000 WHERE GroomStoredProcedureName = 'EventGroom' I'ven tried it for a week but still don't have any result. Please HELP.... Thx in advance
Free Windows Admin Tool Kit Click here and download it now
July 18th, 2012 11:04am

Another important situation: the event data set shows data recorded "from the future", it shows its odest event date on 2010-07-22 23:43:53.000, and the newest event date on 2013-03-07 19:40:17.000, I also check how many records have from future dates and it shows me 237204 recordds. Im using this sql sentences: USE OperationsManagerDW select min(DateTime) AS [Oldest Event Date] from Event.vEvent select max(DateTime) AS [Newest Event Date] from Event.vEvent select min(DateTime) AS [Oldest Perf Date]from Perf.vPerfRaw select max(DateTime) AS [Newest Perf Date]from Perf.vPerfRaw select min(DWCreatedDateTime) AS [Oldest Alert Date] from Alert.vAlert select max(DWCreatedDateTime) AS [Newest Alert Date] from Alert.vAlert select count (*) from Event.vEvent select count (*) from Event.vEvent where datetime > '2012-07-18' select count (*) from Event.vEvent where datetime < '2012-06-18' select count (*) from Event.vEvent where datetime < '2012-07-18' and datetime > '2012-06-18' select count (*) from Event.vEvent where datetime > '2012-07-18' select count (*) from Event.vEvent where datetime > '2013-01-01'
July 18th, 2012 11:14am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics