Microsoft Exchange 2003 Mailbox Store Shutdown State = Dirty (AP)

Basically, one of our Exchange servers went down :(

Now it wont mount some of the exchange mailbox stores, when doing an ESEUTIL /MH on the mailbox store I am receiving these:

State: Dirty Shutdown
Log Required: 114128-114132 (0x1bdd0-0x1bdd4)

How do I find out which log files it actually needs and then how do I import them into the EDB file so I can mount the database?
LVL 1
tlcsupportAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

AlexTechCommented:
First see the application log to know the reason why it went to dirty shutdown.

  Then check the logs required for making this database into clean  shutdown i.e run eseutil /mh path of the database just below the status  you will logs required.

this article will help in identifing : http://support.microsoft.com/kb/240145
 
 Make sure that those logs are available if it is available then you need to go with eseutil /r

post back results
0
tlcsupportAuthor Commented:
I did the /MH and got:

State: Dirty Shutdown
Log Required: 114128-114132 (0x1bdd0-0x1bdd4

but that doesn't match up with the filename format of the log files.

Here is the full outcome of the /mh

C:\Program Files\Exchsrvr\bin>eseutil /mh "S:\Exchsrvr\MDBDATA\Storage Group 3\M
ailbox Store 3.edb"

Microsoft(R) Exchange Server Database Utilities
Version 6.5
Copyright (C) Microsoft Corporation. All Rights Reserved.

Initiating FILE DUMP mode...
         Database: S:\Exchsrvr\MDBDATA\Storage Group 3\Mailbox Store 3.edb

        File Type: Database
   Format ulMagic: 0x89abcdef
   Engine ulMagic: 0x89abcdef
 Format ulVersion: 0x620,11
 Engine ulVersion: 0x620,11
Created ulVersion: 0x620,11
     DB Signature: Create time:11/23/2006 14:36:12 Rand:109826350 Computer:
         cbDbPage: 4096
           dbtime: 498246677 (0x1db2a415)
            State: Dirty Shutdown
     Log Required: 114128-114132 (0x1bdd0-0x1bdd4)
   Streaming File: Yes
         Shadowed: Yes
       Last Objid: 139629
     Scrub Dbtime: 0 (0x0)
       Scrub Date: 00/00/1900 00:00:00
     Repair Count: 0
      Repair Date: 00/00/1900 00:00:00
 Old Repair Count: 0
  Last Consistent: (0x1BB58,14F8,172)  08/17/2010 09:26:50
      Last Attach: (0x1BB58,14FA,CE)  08/17/2010 09:26:50
      Last Detach: (0x0,0,0)  00/00/1900 00:00:00
             Dbid: 2
    Log Signature: Create time:11/23/2006 14:36:10 Rand:109818909 Computer:
       OS Version: (5.2.3790 SP 2)

Previous Full Backup:
        Log Gen: 109205-109274 (0x1aa95-0x1aada)
           Mark: (0x1AA9A,4BA,13B)
           Mark: 08/13/2010 20:49:54

Previous Incremental Backup:
        Log Gen: 0-0 (0x0-0x0)
           Mark: (0x0,0,0)
           Mark: 00/00/1900 00:00:00

Current Full Backup:
        Log Gen: 0-0 (0x0-0x0)
           Mark: (0x0,0,0)
           Mark: 00/00/1900 00:00:00

Current Shadow copy backup:
        Log Gen: 0-0 (0x0-0x0)
           Mark: (0x0,0,0)
           Mark: 00/00/1900 00:00:00

     cpgUpgrade55Format: 0
    cpgUpgradeFreePages: 0
cpgUpgradeSpaceMapPages: 0

       ECC Fix Success Count: none
   Old ECC Fix Success Count: none
         ECC Fix Error Count: none
     Old ECC Fix Error Count: none
    Bad Checksum Error Count: none
Old bad Checksum Error Count: none

Operation completed successfully in 3.0 seconds.
0
AlexTechCommented:
hi

you must convert the decimal  range that is listed in the  Log Required field to hexadecimal values. For example, if the Log Required value is 28217 – 28221, log files from 06E39 to 06E3D are required by this  database. In Exchange Server 2003 SP1, the Log Required field has been enhanced to report both decimal and hexadecimal values.

Note You can use the Scientific mode of the Windows Calculator to convert from decimal to hexadecimal. Start the Calculator, and then click Scientific on the View menu. Enter the decimal number, and then click Hex.

post back results
0
Problems using Powershell and Active Directory?

Managing Active Directory does not always have to be complicated.  If you are spending more time trying instead of doing, then it's time to look at something else. For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why

tlcsupportAuthor Commented:
Ah-ha! Genius!

Ok, so I now have the 4 log files. It seems that all 5 stores in the Storage Group require these 4 log files.

How do I go about importing them into the 5 .edb files so I can get email back online and working?
0
AlexTechCommented:

1) Copy all the original database and log files to somewhere safe.   Then also copy them into a working directory.  Eseutil will modify the  files in situ so if it goes wrong you don't want your original files  modified.
You need to have a copy of the database files (*.edb and  *.stm) plus the transaction logs (Exx*.log where xx is a number  relating to the information store).  The location of the files is  available from exchange system manager, but you really should know where  they all are anyway.
I'm going to assume the temp directory for  the database files is e:\temp\data and they're called exchdb.edb,  exchdb.stm. If they reside in the 1st storage group, the transaction  logs will be called E00.log (this is the most recent base file) and  E00xxxx.log etc (these are the old logs).  Lets assume these are copied  to e:\temp\logs.  You need to replace these with your own  paths/filenames of course.
2) Check the database state and expected log files with
eseutil.exe /mh e:\temp\data\exchdb.edb
The  output will show a line State: which will be either clean or dirty  shutdown.  If it's clean, then you don't need this article :)
It  will also show which logs are required e.g. which hadn't yet been played  into the database when the dirty shutdown occured.  If you have any  missing then you will have lost email.  This generally only occurs if  you lost a log drive and have replicated copies of the logs you can use.
3) "Recover" the database.  This replays missing transaction logs into the database file - run:
eseutil.exe /r E00 /d"e:\temp\data\exchdb.edb"
You might receive an error that there is an outstanding database attachment.  In this case use the /i switch in the command
eseutil.exe /r E00 /d"e:\temp\data\exchdb.edb" /i
4) recheck the database state with the command in 2). If it still shows dirty shutdown you need to repair the database with:
eseutil /p e:\temp\data\exchdb.edb
5) Recheck the database once more and it should show clean shutdown.  At this point you should defrag the database
eseutil /d e:\temp\data\exchdb.edb
6)  The file is now in a clean state and is ready to be put back into  exchange so copy it back to the original location on your exchange  server but don't yet mount the file.  The last step before mounting the  file is to get rid of any remaining errors using isinteg.exe.   This tool requires the database to be in the original location on the  original exchange server.  It needs to be run several times until it no  longer reports any errors.
7) Once the database file has no more errors you can now remount it in exchange.

post back results
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
tlcsupportAuthor Commented:
Ok, it looks like its after 5 log files, E021BDD0 to E021BDD4

BDD0,1,2,3 are in the log folder, but BDD4 is not. Ideas?
0
sunnyc7Commented:
You are in good hands @adaroc's last post. Its complete

I have a few things to add.
A) make sure you have 1.5x free space of your edb size.
If your edb is 10gb then you need 15gb free space
0
tlcsupportAuthor Commented:
This is the outcome with the /i switch on:

Microsoft(R) Exchange Server Database Utilities
Version 6.5
Copyright (C) Microsoft Corporation. All Rights Reserved.

Initiating RECOVERY mode...
    Logfile base name: E02
            Log files: <current directory>
         System files: <current directory>
   Database Directory: C:\logs\powa.edb

Performing soft recovery...



Operation terminated with error -528 (JET_errMissingLogFile, Current log file mi
ssing) after 1.16 seconds.
0
sunnyc7Commented:
I clicked post before I could finish...sorry.

a) Make sure you take a backup of EDB's and log files on a external HDD before you attempt the eseutil /p /d

b) You need to try the soft-recovery option first using adaroc's point # 3

3) "Recover" the database.  This replays missing transaction logs into the database file - run:
eseutil.exe /r E00 /d"e:\temp\data\exchdb.edb"
You might receive an error that there is an outstanding database attachment.  In this case use the /i switch in the command
eseutil.exe /r E00 /d"e:\temp\data\exchdb.edb" /i

Please post back the results.
0
sunnyc7Commented:
Can you try that

eseutil /r e00 /i /l"c:\ PATH TO LOG FILEs..." /d"g:\...PATH TO DATABASE"
0
AlexTechCommented:
hi

whats the state of play pls ?
0
tlcsupportAuthor Commented:
In the end we got hold of Microsoft and had to do a restore of the exchange backup as the database was "corrupt beyond repair"
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Exchange

From novice to tech pro — start learning today.