Overview

PDU provides data recovery methods for various MongoDB failure scenarios. Choose the appropriate recovery method based on your situation.

Choose Your Recovery Scenario

Recover from Corrupted Instance

Read the frozen WiredTiger data directory when the instance cannot start.

Recover from Corrupted Data File

Probe one WiredTiger file and export parseable records.

Recover Single Database

Select one database for export from a complete WiredTiger directory.

Recover Metadata Relationships and Log Prefixes

Salvage independent collection relationships when metadata is missing and build read-only recovery views from continuous WT logs.

Recover Deleted Records (Historical Candidates)

Extract pre-delete data from retained historical versions and pre-images.

Recover Updated Records (Historical Candidates)

Extract pre-update data from retained historical versions and pre-images.

Recover Old Versions from History Store

Read catalog-bound WiredTigerHS.wt with missing-page and modification-chain dependencies retained.

Recover Pre-Image Old Documents

Extract retained old documents and filter operation ranges from oplog source chains.

Recover Data at an Incident Time

Select incident-time candidates using checkpoint, history-chain and original commit evidence.

Recover Data from Mapped Fragments

Read scattered pages, overflow and catalog dependencies through declared logical-file ranges.

Scan Isolated Complete Blocks in an Image

Extract complete WiredTiger blocks within explicit ranges, retaining unknown attribution and missing dependencies.

Recover Plaintext Deep Fragments

Export complete BSON document candidates, independent field fragments and suspected structures separately.

Recover Data from Multiple Sources

Register directories, files and images independently, with added sources, failure isolation, pause and native reporting.

Recovery Scenario Comparison

Recovery ScenarioMaterialsOutput
Recover from Corrupted InstancedbPath · catalogCheckpoint data
Recover from Corrupted Data FileWT file · versionPhysical-version candidates
Recover Single DatabasedbPath · catalogCollection data and records
Recover Metadata Relationships and Log Prefixescatalog / WT logs · checkpoint LSNIndependent relationships and read-only views
Recover Deleted Records (Historical Candidates)collection history · HSOld-version candidates
Recover Updated Records (Historical Candidates)collection history · HSOld-version candidates
Recover Old Versions from History StoreWiredTigerHS.wt · catalogOld values and missing-chain reasons
Recover Pre-Image Old Documentspre-image · oplogOld documents and attribution
Recover Data at an Incident Timecheckpoint / HS · commit evidenceTime-snapshot candidates
Recover Data from Mapped Fragmentsimage · extent mapMapped records and dependencies
Scan Isolated Complete Blocks in an Imageimage · scan rangeComplete-block candidates
Recover Plaintext Deep Fragmentsfile / image · readable bytesDocuments/fields/structures
Recover Data from Multiple Sourcesdirectories / files / imagesIndependent results and summaries

Quick Start

Configure the source path, launch PDU outside the sources and initialize, then choose the database and recovery method. State and output use launch cwd.

MONGODBDATA=/recovery-input/mongodb/source/dbpath
param sourceversion 8.0.0;
param sourcekind copy;
param sourcefrozen true;
b;
\l;
use appdb;
\dt;

See the complete usage guide.

MongoDB 文档