Salesforce

How to recover some data from a database with missing data extents and no backup?

« Go Back

Information

 
TitleHow to recover some data from a database with missing data extents and no backup?
URL NameP117324
Article Number000163766
EnvironmentProgress 9.x
OpenEdge 10.x, 11.x
All Supported Operating Systems
Question/Problem Description
How to recover some data from a database with missing extents and no backup?

How to recover data from a database when some data extents have been erased by mistake and no backup is available?
Steps to Reproduce
Clarifying Information
Error Message
Defect Number
Enhancement Number
Cause
Resolution

This solution should be used only as a last resort. There is absolutely no way to recover data from the lost extents. It is likely that most tables, if not all, were corrupted when the extents went missing.

If backups are available, use them. If the database was replicated, dump and load the replicate copy.

If the .db and the system tables in the Schema Area were not erased, try the following: 
1. save the remaining files to a secure location.
2. create a new database in another directory using the structure file (.st) of the corrupted database, and the same block size as the corrupted database. The block size can be extracted from the database log file (.lg) if unknown.
3. for each extent file that is missing in the corrupted database, copy the corresponding file in the new database to the corrupted database.
4. run prostrct unlock on the corrupted database.
5. open a single user client connection to the corrupted database, then dump all tables in ASCII mode (binary dumps will likely not work, or produce corrupted data).
6. reload the dumped data into a new, fresh database.

Workaround
Notes
If the new database is created using a different block size, then various kinds of errors will occur (6834, 6835, 873).


Keyword Phrase
Last Modified Date2/21/2013 9:37 PM

Powered by