Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

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

Posted on 2010-08-17
12
Medium Priority
?
1,198 Views
Last Modified: 2012-05-10
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?
0
Comment
Question by:tlcsupport
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 4
  • 3
12 Comments
 
LVL 5

Expert Comment

by:Alex
ID: 33460098
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
 
LVL 1

Author Comment

by:tlcsupport
ID: 33460114
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
 
LVL 5

Expert Comment

by:Alex
ID: 33460181
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
Does Powershell have you tied up in knots?

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

 
LVL 1

Author Comment

by:tlcsupport
ID: 33460205
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
 
LVL 5

Accepted Solution

by:
Alex earned 1000 total points
ID: 33460236

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
 
LVL 1

Author Comment

by:tlcsupport
ID: 33460259
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
 
LVL 28

Expert Comment

by:sunnyc7
ID: 33460445
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
 
LVL 1

Author Comment

by:tlcsupport
ID: 33460460
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
 
LVL 28

Assisted Solution

by:sunnyc7
sunnyc7 earned 1000 total points
ID: 33460462
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
 
LVL 28

Expert Comment

by:sunnyc7
ID: 33460470
Can you try that

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

Expert Comment

by:Alex
ID: 33470442
hi

whats the state of play pls ?
0
 
LVL 1

Author Comment

by:tlcsupport
ID: 33610317
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

Featured Post

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

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A couple of months ago we ran into an issue that necessitated re-creating our Edge Subscriptions. However, when we attempted to execute the command: New-EdgeSubscription -filename C:\NewEdgeSub_01.xml we received an error indicating that the LDAP se…
On September 18, Experts Exchange launched the first installment of the Help Bell, a new feature for Premium Members, Team Accounts, and Qualified Experts. The Help Bell will serve as an additional tool to help teams increase question visibility.
In this video we show how to create an email address policy in Exchange 2013. We show this process by using the Exchange Admin Center. Log into Exchange Admin Center.:  First we need to log into the Exchange Admin Center. Navigate to the Mail Flow…
The video tutorial explains the basics of the Exchange server Database Availability groups. The components of this video include: 1. Automatic Failover 2. Failover Clustering 3. Active Manager
Suggested Courses

660 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question