How to estimate the time required to offline defrag.

FrankU09
FrankU09 used Ask the Experts™
on
Our databases are growing very fast. And after deleting lots of emails, of course, Exchange doesn't free up the white space. To do so we have to either create a new database and migrate users to it, then delete the old d/b OR use the offline defrag utility... eseutil.exe /D path\to\file.edb.

My first choice would be the create a new database and migrate. That way the org mail is not down. But if we were to decide to go the offline defrag route, how can we get a general idea of how long it would take? We have five database each approximately 100Gbs on high availability virtual HDDs on ESX VMs with 12GBs RAM. I'd hate to tell my boss it could take 6-12 hours and it take 3 days...LOL.
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Commented:
Question - are you sure you want to do an offline defragmentation? Do you have DAG configured in your organization? If so then you may want to read this article about defragmenting databases in a DAG.

http://blogs.technet.com/b/rmilne/archive/2013/08/23/offline-defrag-and-dag-databases_2c00_-oh-my_2100_.aspx

There really is no way to estimate how long it will take to do a defragmentation as the server performance has an impact and so does the speed of your disks and amount of memory. Generally the estimate is between 5GB to 7GB an hour so for a 100GB database, worse case would possibly take 20hours. I always recommend to my clients to do the online mailbox move option as it does not require downtime.
Michael DyerSenior Systems Support Analyst

Commented:
Microsoft recommends a conservative 5 – 7 GB per hour for a defrag operation, which means that your server could be offline for up to 20 hours.  That said, I know of one 45 gig db that took around 3 hours to defrag so it could be a lot less time - it really depends on how much whitespace is in your database and the hardware you are running on.

You can run ESEUTIL with the /p switch to configure ESEUTIL to create the new defragmented database on an alternate location (for example, to a location on a different hard disk). This switch lets you preserve your original defragmented database (which lets you revert back to your original database if necessary). This switch also significantly reduces the amount of time it takes to defragment a database, because you are rebuilding to a new location, rather then rebuilding the database in place.

Commented:
You can run ESEUTIL with the /p switch to configure ESEUTIL

Michael Dyer, I think you mean ESEUTIL /D to do a defragmentation not ESEUTIL /P (a database repair switch). You only want to run /P as a last resort to repairing a corrupted database.
Michael DyerSenior Systems Support Analyst

Commented:
My understanding is that /D defrags in place, /P is necessary to defrag to a new location.  

https://support.microsoft.com/en-us/kb/192185

Commented:
Yes you are correct but the /P is used in conjunction with the /D in this case as in:

ESEUTIL /D databasename /P

But if you simply run ESEUTIL /P you are performing what is called a hard repair on the database.

https://technet.microsoft.com/en-ca/library/aa997215(v=exchg.65).aspx

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial