Open the sealed backup.
RMAN backup pieces are a sealed, proprietary format. reclaimDB reads them at the byte level — so you can answer "are these backups even restorable?" without a target database to restore into.
Backup-piece parsing and the backup catalog are GA (plain, encrypted, compressed). Extraction, incremental merge, ZSTD MEDIUM and password/dual-mode decryption are Beta. Hard limits: TDE / transparent-mode pieces are not supported (no wallet-derived key path exists), and KGC-compressed pieces are hard-refused with a clear message. For production use, check a concrete piece with us first.
//What is verified here
- Parse backup pieces directly — plain, encrypted, compressed; no catalog, no target instance GA
- ZSTD MEDIUM decompression — 93K+ frames, 0 errors on 19c (known gap: 26ai pieces with many frames → 0 rows, loud) BETA
- Incremental merge (L0 + L1) in one step — DBID mismatch is refused BETA
- Encrypted backups (password / dual-mode) via
--rman-password/--rman-key— TDE / transparent mode not supported BETA - Move the proprietary container into 15 open formats GA (restore stage)
//Step by step
Inspect a backup piece — no catalog, no target DB
reclaimdb backup-scan /backup/*.bkp # Parse a controlfile backup for the RMAN inventory: reclaimdb backup-catalog /backup/c-*.ctl
Reads the self-describing headers of the piece: DB, DBID, tablespaces, datafiles.
Reconstruct datafiles from the piece
reclaimdb backup-extract full.bkp -o /tmp/extracted/ # Incremental: merge level-0 + level-1 in one step reclaimdb backup-extract level0.bkp level1.bkp -o /tmp/extracted/
Prove restorability → then extract
reclaimdb verify /tmp/extracted/*.dbf reclaimdb restore -m meta.json --csv ./out/ /tmp/extracted/*.dbf
Encrypted backups (RMAN SET ENCRYPTION)
Password and dual-mode pieces decrypt via PBKDF2-HMAC-SHA1 + AES-CFB. Blocks that fail Oracle's block-tail check are excluded loudly (“EXTRACTION UNVERIFIED” banner + non-zero exit), never emitted wrong. TDE / transparent-mode pieces have no wallet-derived key path and are not supported; 26ai envelopes are fail-closed.
reclaimdb --rman-password MyPass backup-extract encrypted.bkp -o /tmp/ # Or with an explicit KEK: reclaimdb --rman-key <32-byte-hex> backup-scan encrypted.bkp
"Are the backups really restorable?" — scheduled via cron
There is no built-in scheduler; the validation pattern is a cron job with --quiet and a deterministic exit code:
# /etc/cron.d/reclaimdb-bkp-check 0 3 * * * oracle reclaimdb --quiet backup-scan /backup/*.bkp || mail -s "BKP UNREADABLE" ops@company
//Relevant exit codes
Test this case on your data
Send us the kind of source you actually have — a .dmp, a .dbf, an RMAN backup piece or a storage snapshot. You get a signed evaluation binary, a sample report, and an honest assessment of which paths apply to your case.