PDU Features
Comprehensive MongoDB data recovery capabilities explained in detail. Click on any feature below to learn more about how it works.
Catalog & Checkpoint Recovery
Confirm the collection information in the catalog and the selected checkpoint, then export each collection as BSON or Canonical EJSON.
When a MongoDB instance cannot open but the data directory is still available, PDU can directly read those files to export data without starting the database service.
Key Highlights
- I. Initialization
- II. Enter the Specified Database and View Collection Information
- III. Export Data Under a Specified Database
Use Cases
- 1Read the frozen WiredTiger data directory when the instance cannot start.
Technical Details
01The MongoDB instance cannot start or connect due to corruption or misconfiguration.02Collection files and matching WiredTiger directory metadata are still accessible on disk.03Use a complete, consistent frozen copy, configure the exact source version and launch outside the sources.04Important Notice This documentation applies to Linux and source versions MongoDB 6.0.0, 7.0.0 and 8.0.0. Freeze source copies and launch PDU from a directory outside the sources. State and output use the launch directory without separate path settings. Confirm other versions and special layouts separately.
Historical Value Candidates
Extract possible deleted or updated records from surviving collection history. PDU does not automatically write the results back to a running database.
When data in a MongoDB collection is accidentally deleted, use PDU to scan retained historical sources and export candidate pre-delete data. The following sections describe configuration, scanning and export in detail.
Key Highlights
- I. Initialization
- II. Scan Historical Data
- III. Restore Data
- IV. Filter by Operation Range
Use Cases
- 1Extract pre-delete data from retained historical versions and pre-images.
Technical Details
01Preserve the complete frozen dbPath and available WiredTigerHS.wt, pre-image and oplog sources.02Confirm collection, UUID and source relationships through matching directory metadata rather than guessing from filenames.03This procedure exports offline candidates. Confirm incident attribution and target writes separately.04Important Notice This documentation applies to Linux and source versions MongoDB 6.0.0, 7.0.0 and 8.0.0. Freeze source copies and launch PDU from a directory outside the sources. State and output use the launch directory without separate path settings. Confirm other versions and special layouts separately.
Safe & Non-destructive
Use frozen source copies. Save task state and exported data in PDU's current working directory, outside the source files, to avoid writing to damaged data.
When a database incident occurs, protect the recovery scene before choosing a recovery method. The following sections describe the materials to preserve for startup failures, accidental DELETE/UPDATE and dropped collections.
Key Highlights
- Scenario 1: The Database Cannot Start or Data Files Are Damaged
- Scenario 2: Accidental DELETE or UPDATE
- Scenario 3: One or More Collections Were Dropped
Use Cases
- 1Preserve data directories, historical sources and disk evidence before recovery.
Technical Details
01Do Not Repeatedly Restart the Database or Modify Original Data Files Preserve the complete dbPath, error logs, exact version and configuration first. Do not delete WiredTiger files, run repair or repeatedly start the server before preservation; these actions may modify recoverable sources.02Do Not Write to the Affected Disk Stop new writes immediately and freeze a disk image and available directory evidence first. Keep PDU scan tasks and recovery output in a safe location without writing back to the original device.03Important Notice This documentation applies to Linux and source versions MongoDB 6.0.0, 7.0.0 and 8.0.0. Freeze source copies and launch PDU from a directory outside the sources. State and output use the launch directory without separate path settings. Confirm other versions and special layouts separately.
Fragment Scanning
Process mapped extents, isolated complete blocks and plaintext deep fragments separately. Individual field fragments are not counted as recovered documents.
When WiredTiger headers, descriptor blocks or cell boundaries are damaged but interpretable plaintext survives, use PDU deep-fragment scanning. The following sections describe extraction of complete documents, field fragments and suspected structures.
Key Highlights
- I. Initialization
- II. Build a Fragment Index
- III. Export Complete-Document Candidates
- IV. Export Field Fragments and Suspected Structures
Use Cases
- 1Export complete BSON document candidates, independent field fragments and suspected structures separately.
Technical Details
01This documentation applies to Linux and source versions MongoDB 6.0.0, 7.0.0 and 8.0.0. Freeze source copies and launch PDU from a directory outside the sources. State and output use the launch directory without separate path settings. Confirm other versions and special layouts separately.02Specify a concrete file or image. Deep scanning does not require a valid WT descriptor block; register a concrete file before using a directory source.03Important: Scope of Plaintext Fragments Deep scanning can extract readable Snappy/zlib/zstd prefixes within bounds. It cannot recreate missing compressed bytes, dictionaries, unknown ciphertext, overwritten bytes or missing fields. Complete decodable compressed WT blocks continue through complete-block and mapped paths.
History Store & Pre-images
Save complete old values directly. Reversing modifications requires the base value and the full modification chain. Separate log evidence is needed to link an old value to a specific operation.
When history store survives in a directory copy, use PDU to read old collection versions. Full values and reverse modifications have different dependencies. The following sections describe initialization, scanning and export in detail.
Key Highlights
- I. Initialization
- II. Scan History Store
- III. Export Old Versions
- IV. Handle Partial Page Loss
Use Cases
- 1Read catalog-bound WiredTigerHS.wt with missing-page and modification-chain dependencies retained.
Technical Details
01This documentation applies to Linux and source versions MongoDB 6.0.0, 7.0.0 and 8.0.0. Freeze source copies and launch PDU from a directory outside the sources. State and output use the launch directory without separate path settings. Confirm other versions and special layouts separately.02Preserve matching catalog, collection identity, WiredTigerHS.wt and available base values without merging same-named files from other instances.03Important: Base Values and Modification Chains Must Be Complete Retain unresolved reasons for unknown ABI, missing bases or missing intermediate MODIFY versions without guessed values. Establish le64 from source evidence rather than assuming it from the example.
Collection Export & Resume
Resume exports using PDU task records and file metadata. If one collection fails, record the cause and continue with the others.
When only one MongoDB database needs recovery, initialize metadata from the offline copy and select that database for export.
Key Highlights
- I. Initialize the Database Directory
- II. Access the Database
- III. Export Data
- IV. Output File Structure
Use Cases
- 1Select one database for export from a complete WiredTiger directory.
Technical Details
01Preserve the complete dbPath; collection and history files may share the directory.02Collections, catalog and historical sources for a database may share dbPath. Preserve them together and select recovery objects by the logical database name.03Important Notice This documentation applies to Linux and source versions MongoDB 6.0.0, 7.0.0 and 8.0.0. Freeze source copies and launch PDU from a directory outside the sources. State and output use the launch directory without separate path settings. Confirm other versions and special layouts separately.
Need Help Using PDU?
Read the MongoDB guide for operating steps, requirements and recovery limits.