What is the purging mechanism on historical tables during 80%

Unanswered Question


I have a UCCE 7.2.5 environment.  Lately the HDS database is reaching 80% usage threshold and the system started to purge the database automatically.

Realised the auto purge is always purging for a few tables only.  Can someone advise how the auto purge works?

Appreciate your help in advanced.



I have this problem too.
0 votes
  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 0 (0 ratings)
khambetea Tue, 08/17/2010 - 06:32

There are two purge settings in ICM -

Adjustment percentage -  default 80%. Every night the database is purged to bring it below 80% usage.

Percent Full - Emergency purge - default 90% - at any time during the day or night, if the database is over 90% full, the purge will start and trim it down.

Hence the purge will not affect all tables equally. Not a good idea. It is better to have the database no more than 65-70 percent full so that the performance is optimal. You can expand the database using ICMDBA or Enterprise Manager.

The following link is a bit outdated but the info is still pretty ok.



Thanks for the info.  I do understand the retention and purging settings.  What I would like to find out is how this adjustment percentage work when the DB hits 80% usage.  Is there a table index e.g. t_Call_Type_Half_Hour is 1 where everytime there is adjustment purging, this table will be the first to purge?

Thanks again.


joesnyde Wed, 08/18/2010 - 06:22


ICM purges at 12:30 (by default) each day whent the tables have reached 80%, this will continue until the data has become lower than 80%. No other purge will occur after this until the next day. If the database gets to 90% the purge will start at anytime and continue till it is below 80%. Both purge the oldest data in alphabetical order, i.e. the oldest Agent tables are purged first and then down the list.


Hi Joe,

Thanks for the info.  You mentioned "purge the oldest data in alphabetical order", does it mean the following table order?

- t_Agent_Half_Hour: 615
- t_Agent_Logout: 2
- t_Agent_Skill_Group_Half_Hour: 615
- t_Agent_Skill_Group_Logout: 2
- t_Agent_State_Trace: 36
- t_Call_Type_Half_Hour: 10
- t_Network_Trunk_Group_Half_Hour: 780
- t_Peripheral_Half_Hour: 781
- t_Physical_Controller_Half_Hou: 781
- t_Route_Call_Detail: 1
- t_Route_Call_Variable: 1
- t_Route_Half_Hour: 781
- t_Routing_Client_Five_Minute: 781
- t_Service_Half_Hour: 781
- t_Skill_Group_Half_Hour: 781
- t_Termination_Call_Detail: 28
- t_Termination_Call_Variable: 1
- t_Trunk_Group_Half_Hour: 780
If you take a close look, the 615, 2, 36, 10 etc are actually the different day of data till date.  For example, t_Call_Type_Half_Hour table has data upto 10 days only.
If the purge method mentioned earlier is true, the t_Agent_Half_Hour table should be the first to purge?  But in real case, the purging tables are in random order.
Please advise.
khambetea Wed, 08/18/2010 - 07:52

That has been my experience as well. What I have noticed is that within the operations, whatever table ICM is

updating at the moment when it reaches the 80% mark, it starts trimming from that table and onwards in an alphabetical pattern until the % full is below 80%. Hence the trimming is not even.


The 80% adjustment purging happen at 12:30am.  During that time, the contact center closed for the day.  Hence, should not have agent logout, agent skill group logout and call type data writing to database.

With that, I see no reason that most of the trimming process happened on these tables.  Please correct me if I am wrong.


I think purging is a bit of a mystery to all of us.

But Cisco do say the following (from the 2007 Networkers slides):

  • When you reach the > 80% threshold, the purge routine changes.
  • The normal purge occurs at 12:30am and the oldest day is purged from each table.
  • The 80% purge routine round robins through the tables alphabetically until space is less than 80%.
  • Loses Call detail before Half Hour.




This Discussion