priv1.edb recovery

Hello,
I ran across a corrupted priv1.edb exchange database. I followed the excellent article Dealing with Exchange Database Corruption by Brien Posey (in http://www.brienposey.com/kb/database_corruption.asp) but still can´t mount priv1.edb.
1) I'm running W2K Server and Exchange 2K with recent Service Packs applied.
2) I've run ESEUTIL /MH on my priv1.edb
3) I've run ESEUTIL with the p switch to repair
4) I've run ESEUTIL /MH again and found that the number of repairs done on the database were 2
5) I've tried to run ISINTEG -S servername -FIX -TEST ALLTESTS but received an error stating that ISINTEG stopped due to an invalid parameter.
6) I've run again ESEUTIL with the /d switch to defrag
7) I've run ESEUTIL /MH again and found that the number of repairs done on the database were now zero (0)
8) I've tried to mount priv1.edb but receive an error message saying that the mount was unsucessuful and that I should try to restart Exchange System Manager and/or the Exchange Infor. Store
9) I've gathered the event log and paste it here
.....................................A.............................
Event Type: Information
Event Source: ESE
Event Category: General
Event ID: 100
Date:  29-08-2003
Time:  13:44:23
User:  N/A
Computer: SNUCKERSERVER
Description:
Information Store (2040) The database engine 6.00.6249.0000 started.
For more information, click http://www.microsoft.com/contentredirect.asp.
.....................................B.............................
Event Type: Information
Event Source: ESE
Event Category: General
Event ID: 102
Date:  29-08-2003
Time:  13:44:23
User:  N/A
Computer: SNUCKERSERVER
Description:
Information Store (2040) 8f47d891-b071-466b-b70d-ae123f886ea6: The database engine started a new instance (0).
For more information, click http://www.microsoft.com/contentredirect.asp.
.....................................C.............................
Event Type: Information
Event Source: ESE
Event Category: Logging/Recovery
Event ID: 300
Date:  29-08-2003
Time:  13:44:25
User:  N/A
Computer: SNUCKERSERVER
Description:
Information Store (2040) 8f47d891-b071-466b-b70d-ae123f886ea6: The database engine is initiating recovery steps.
For more information, click http://www.microsoft.com/contentredirect.asp.
.....................................D.............................
Event Type: Information
Event Source: ESE
Event Category: Logging/Recovery
Event ID: 301
Date:  29-08-2003
Time:  13:44:26
User:  N/A
Computer: SNUCKERSERVER
Description:
Information Store (2040) 8f47d891-b071-466b-b70d-ae123f886ea6: The database engine has begun replaying logfile C:\Program Files\Exchsrvr\mdbdata\E00.log.
For more information, click http://www.microsoft.com/contentredirect.asp.
.....................................E.............................
Event Type: Information
Event Source: MSExchangeTransport
Event Category: Exchange Store Driver
Event ID: 334
Date:  29-08-2003
Time:  13:44:27
User:  N/A
Computer: SNUCKERSERVER
Description:
SMTP service instance 1 has been started.
For more information, click http://www.microsoft.com/contentredirect.asp.
.....................................F.............................
Event Type: Error
Event Source: ESE
Event Category: Logging/Recovery
Event ID: 494
Date:  29-08-2003
Time:  13:44:27
User:  N/A
Computer: SNUCKERSERVER
Description:
Information Store (2040) Database recovery failed with error -1216 because it encountered references to a database, 'C:\Program Files\Exchsrvr\mdbdata\priv1.edb', which is no longer present. The database was not brought to a consistent state before it was removed (or possibly moved or renamed). The database engine will not permit recovery to complete for this instance until the missing database is re-instated. If the database is truly no longer available and no longer required, please contact PSS for further instructions regarding the steps required in order to allow recovery to proceed without this database.
For more information, click http://www.microsoft.com/contentredirect.asp.
.....................................G.............................
Event Type: Error
Event Source: ESE
Event Category: Logging/Recovery
Event ID: 454
Date:  29-08-2003
Time:  13:44:27
User:  N/A
Computer: SNUCKERSERVER
Description:
Information Store (2040) Database recovery/restore failed with unexpected error -1216.
For more information, click http://www.microsoft.com/contentredirect.asp.
.....................................H.............................
Event Type: Information
Event Source: ESE
Event Category: General
Event ID: 101
Date:  29-08-2003
Time:  13:44:27
User:  N/A
Computer: SNUCKERSERVER
Description:
Information Store (2040) The database engine stopped.
For more information, click http://www.microsoft.com/contentredirect.asp.
10) I've noticed that on the mdbdata folder I've besides priv1.edb (and the other files associated with it) a bunch of log files and E00.log.
 
QUESTION
I) How can I recover from this situation?
II) Should I have E00.log and the other E00xx.log files on the mdbdata folder or should I cut them off there?
NOTE: After ESEUTIL procedures the priv1.edb files were consistent (as far as ESEUTIL reported)

Thanks in advance,
Pedro
pfsilvaAsked:
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.

OneHumpCommented:
Pedro,

I respectfully suggest that you do one of two things:

1.  Restore from backup.

2.  Call Microsoft for support.

You are neck-deep in a very complicated issue.  I don't believe your issue can be fully worked in a forum.  If you have specific questions, I'm sure someone here can answer them, but working through a complex recovery scenario is not going to go well without being on the console.

We can't answer questions about log file preservation without knowing what's going on in the storage group.  If this goes wrong, you'll have more than one database with a problem.

If you have specific questions, please ask.  If you value your data, please call Microsoft.  That is the best advice I can give you.


OneHump
Exchange_AdminCommented:
Since you have run an ESEUTIL /P and ESEUTIL /D against the database, any log files remaining are no longer needed.
Make sure the database is in a CONSISTANT or Clean Shutdown  state. To do this run ESEUTIL /MH against the database. If it is consistant, then rename the MDBDATA folder containing the EDB logfiles to MDBDATA.LOGS.
Create a new MDBDATA folder.
Now try to start the Information Store service and mount your database.

If this fails or your databases are INCONSISTANT or DIRTY SHUTDOWN state, then I agree with OneHump about considering placing a call to Microsoft PSS.

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
OWASP: Avoiding Hacker Tricks

Learn to build secure applications from the mindset of the hacker and avoid being exploited.

seeimredCommented:
Once you've done the /p & /d, then Isinteg -fix -tests alltests... clear out all log files & the chk file, there's one more place you need to touch before mounting a recovered/restored database. I don't see anywhere in you recovery steps where this was done.  If you're familiar with Exchange 5.5 recovery, you'll recall you had to run Isinteg -patch before you could successfully start the IS. Well, in Exchange 2k, this is sort of built in to the GUI on the properties of the Mailbox Store. Check the box "Allow database to be overwritten with a restore" on the Database tab.

Make sure the service pack on the server matches what the database was maintained with originally.

That should be all you need and save you a call to PSS.
pfsilvaAuthor Commented:
OK Thans Exchange_Admin ....

It worked. I assume that as my exchange databases (priv1.edb and pub1.edb) were in a consistent state (checked by the state line in the ESEUTL /MH report and after good ESEUTIL /p & /d) I no longer need the log files. At least it worked.

Thanks to all that have contributed,

PS. OneHump, yes I think your answer is a wise one but I strongly believe in exchanging knownledge before... Thanks anyway.

Pedro
OneHumpCommented:
It's definitely great to Exchange knowledge, and I'm glad you got the answer you wanted.

My goal is zero data loss.  If you are running a repair on your database, you are at risk of losing data.  While I am aware of what my options are in those cases, I usually call Microsoft just to validate my solution.  If things to horribly wrong, I can tell management that Microsoft concurred.  This is more CYA than anything else.

If you are not completely clear about what to do, it becomes even more important to get proper help.  I certainly advocate exchanging knowledge, but the vendor should be used in parallel.

The reason I would not touch that question is because I'm not aware of the other stores in the affected storage group.  Messing with a repair in that case could jeopardize other data.  I believe that tremendous detail must exist before making an intelligent decision that could affect the outcome of a disaster recovery scenario.

Best of luck.  :)

OneHump
bobsensorCommented:
question for Exchange_Admin or pfsolva...

you say "If it is consistant, then rename the MDBDATA folder containing the EDB logfiles to MDBDATA.LOGS.
Create a new MDBDATA folder."

question: what do you put in the MDBDATA FOLDER???? just PUB1.EDB & PRIV1.EDB???

that you very much!


Exchange_AdminCommented:
This depends on your configuration.
Is the location of your logfiles the same as the location of your databases? If so, then you would only need the PRIV1.EDB and PUB1.EDB. If the databases are shut down cleanly then they should be in a consistent state. If they are in a consistent state then all the log files have been committed and are actually no longer needed.

I agree with OneHump. There are alot of things to consider. Number of databases, storage groups, etc.
Having worked for PSS in my past, I have seen many cases that could have been easily fixed if they only would have called first before trying different things.
It is kind of like plumbing, if you aren't careful, you can really make things alot worse. :)
MiniVealNetwork AdministratorCommented:
THANK YOU! THANK YOU! THANK YOU!

After reading through your account and fix I was able to fix my own store.  Is this site great or what!?
rakeshgurmelCommented:
I have a corrupt exchange database store and the store wond mount I have reinstalled new exchange server, and got exchange up and running. Cause back is not working and I have copied all old exchange files to a network drive. I have priv1 and pub file with log, I would like to know if there is a way to extract email, contact etc  from priv database.

Any solution to my solution


abiberCommented:
You guys rule! Thank you Exchange Admin. After /p and /mh , verified cleanliness, I still could not mount. Wiping the Logs fixed it, It never occured to me that those were live files.
nathanaclarkCommented:
You guys have saved me again. This question may be 4 years old, but still very relevant! Thank you!!
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.