Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Exchange Defrag

Status
Not open for further replies.

csjoseph

MIS
Jan 2, 2001
247
US
We have a Exchange 5.5 server that has a large store that has never been defraged. As I understand it I can use ESEUTIL to defrag the Priv.edb store. The problem is we do not have enough room on any server to do this operation. My question is can I copy the priv.edb store to a win2k or XP Pro machine and defrag there. Will that utility work on either of those O/S's?

Thanks in advance.
Chris
IS Manager


Chris
IS Manager
 
If you have another machine on the network with enough space there is a switch in eseutil where you can specify to use a network share for the temp file used during defrag.
 
As rdroske mentioned - use the /t switch to redirect where the temp.edb is built . . .

Map a drive to another computer - say G: -
eseutil /d /ispriv /tG:\tempname.edb

Craig
 
So doing it by this method when I am done am I done, just restart services. Or do I need to move some things around?

Chris
IS Manager
 
The problem that you're going to have with the /t switch is that once you've defragged the database, it now resides in a location other than your database paths that are specified for your server in the directory. You can't point database paths to a mapped drive, so you're going to be stuck at that point.

What I would recommend is add a hard drive to your server, if you can and defrag it there. Otherwise, you'll have to somehow get the newly defragged database back to your server and then perform and offline restore. It's risky at best.

Your best solution is to add hard drive space to the server and perform a defragmentation of the database in place.
 
you could just create the temp file on another drive on the same machine or on a mapped drive onanother machine:
different drive:
eseutil /d /ispriv f:\exchsrvr\mdbdata\priv.edb te:\tempdfrg.edb

or mapped drive where z: is mapped
eseutil /d /ispriv f:\exchsrvr\mdbdata\priv.edb /tz:\tempdfrg.edb
then do a backup and you can then run isinteg or just restart the services
 
the ESEUTIL will definately work under w2K and I cant see why it wouldnt work under XP (havenbt tested it under XP).



 
Here's all the info you need for this operation. taken from microsoft KB articles 159306,182903,192185,244525:

Database Compaction
Database compaction is a function of the JET database engine, and is not under the stores control. There is some amount of online compaction that goes on in the background, as needed. This process cleans up the space made available by background cleanup. There are times that compaction will not be able to efficiently keep up and it will log the following Event ID in the application log:

Event ID = 63
Source = EDB
Category = General
Description = MSExchangeIS ((44)) Background Cleanup skipped pages. Database may benefit from defragmentation
This Event ID means that an offline defragmentation of the Information Store database should be scheduled and performed. Offline defragmentation is performed by using the Edbutil.exe utility with the "/d" option. This process is performed against each database separately (Priv.edb for the private store, Pub.edb for the public store).

DEFRAGMENTATION (D)

DEFRAGMENTATION/COMPACTION:
DESCRIPTION: Performs off-line compaction of a database.
SYNTAX: ESEUTIL /d <database name> [options]
PARAMETERS: <database name> - filename of database to compact, or one of
/ispriv, /ispub, or /ds (see NOTES below)
OPTIONS: zero or more of the following switches, separated by a space:
/l<path> - location of log files (default: current directory)
/s<path> - location of system files (e.g., checkpoint file)
(default: current directory)
/b<db> - make backup copy under the specified name
/t<db> - set temp. database name (default: TEMPDFRG.EDB)
/p - preserve temporary database (i.e., don't instate)
/o - suppress logo
NOTES: 1) The switches /ispriv, /ispub, and /ds use the Registry
to automatically set the database name, log file path,
and system file path for the appropriate Exchange store.
2) Before defragmentation begins, soft recovery is always
performed to ensure the database is in a consistent state.
3) If instating is disabled (i.e., /p), the original database
is preserved uncompacted, and the temporary database will
contain the defragmented version of the database.

Defragmenting an Exchange Server 5.5 Database
NOTE: Defragmenting a database requires free disk space equal to 110 percent of the size of the database that you want to process.
Stop the service of the database you wish to defragment by using the Services tool in Control Panel.
For the Exchange Directory database, stop the Microsoft Exchange Directory service.
For the Exchange Mailbox or Public Folder databases, stop the Microsoft Exchange Information Store service.
At the command prompt, change to the Winnt\System32 folder, and then type the eseutil /d command, a database switch, and any options that you want to use.
For example, the following command runs the standard defragmentation utility on the directory and saves the copy in the user-defined file:
C:\winnt\system32> eseutil /d /ds /tc:\dbback\tempdfrg.edb /p

The Tempdfrg.edb file is created on the logical drive from which the eseutil /d command is run unless you use the /t switch. For example, to create a Tempdfrg.edb on the root of drive D, run the following command:
D:\>eseutil /d /ispriv

Good luck!
 
This is my first post on this site, so I hope it is useful. I know it is a month too late...

To answer the original question, yes this can be done on another system. all previous answers are correct re: /t switches etc (I defrag'd our 128Gb DB last weekend, so it is fresh in my memory). There are several other options available to you as well, though.

To run on another server, look up Q244525 from MS ( and this tells you what files to copy over. Make sure your Exchange server IS service is off even though the procedure is not local. you dont want to potentially replace a newer copy of the priv.edb. in addition, the action of taking down the IS service will leave the DB marked as 'consistent'(within Exchange), and is required to do a file copy.

Advantages of this are:
1. all processes are quicker (after the initial copy)
2. rule out any potential network interference (reduces eseutil error frequency)

Hints:
1. Use a system with RAID drives (quicker)
2. dont wory about multi-processors (eseutil=single-threaded)
3. Take an off-line as well as on-line backup before and after (online-offline-defrag-offline-online)
3. allow time!


Good luck!
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top