Table of Contents
- 1. Introduction: The Last Line of Defense
- 2. Technical Architecture: Inside Oracle Data Blocks
- 3. Core Recovery Features
- 4. DataBridge: Direct Data Transfer
- 5. ASM Storage Support
- 6. Scan Mode: When Dictionary is Lost
- 7. Datafile Health Checker
- 8. Supported Oracle Versions
- 9. Recovery Scenarios and Use Cases (12 Scenarios)
- 10. Oracle Errors and Recovery Capabilities
- 11. Comparison with Other Recovery Methods
- 12. Performance Optimization
- 13. Frequently Asked Questions (FAQ)
- 14. Additional Resources
- 15. Getting Started
- 16. Conclusion
- No Running Database Required โ Extract data directly from .dbf files
- No Backup Prerequisite โ Works when RMAN backups are unavailable or corrupted
- Deleted Data Recovery โ Recover DELETE'd, TRUNCATE'd, and DROP TABLE'd data
- Ransomware Recovery โ Extract data from partially encrypted datafiles
- ASM Direct Access โ Read from ASM disk groups without ASM instance
- All Oracle Versions โ Oracle 7 through Oracle 23ai/26c supported
- Cross-Platform โ Read AIX/Linux files on Windows and vice versa
1. Introduction: The Last Line of Defense
Oracle Database is renowned for its robust stability and comprehensive backup/recovery mechanisms. However, real-world scenarios exist where traditional recovery methods simply cannot help:
- Complete database corruption โ SYSTEM tablespace or UNDO corruption preventing database startup
- Control files and online redo logs lost โ Unable to perform standard media recovery
- RMAN backups expired or corrupted โ Only raw datafiles remain available
- Ransomware encryption attacks โ Partial datafile encryption requiring salvage of unencrypted portions
- Accidental operations without backup โ DELETE/TRUNCATE/DROP with no flashback or archive logs
DBRECOVER for Oracle addresses these "impossible" scenarios. It is a professional Oracle database recovery tool that bypasses the Oracle instance layer entirely, parsing and extracting data directly from the binary structure of .dbf datafiles.
Product: DBRECOVER for Oracle
Current Version: 2512
Platform: Cross-platform (Java-based)
Supported Versions: Oracle 7 through Oracle 26c
2. Technical Architecture: Inside Oracle Data Blocks
The core technology of DBRECOVER lies in its deep understanding of Oracle's internal data block structure. Every Oracle data block consists of the following hierarchical components:
2.1 Oracle Data Block Structure
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Oracle Data Block โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ KCBH (Kernel Cache Block Header) - 20 bytes โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ type_kcbh โ frmt_kcbh โ rdba_kcbh โ bas_kcbh โ ... โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ KTBBH (Kernel Transaction Block Base Header) - 24+ bytes โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ ITL (Interested Transaction List) - 24 bytes each โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ KDBH (Kernel Data Block Header) - 14 bytes โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ KDBT (Table Directory) - 4 bytes each โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ KDBR (Row Directory) - 2 bytes each โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Row Data Area (actual row data) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Free Space โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Tail Check (block trailer) - 4 bytes โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
2.2 Data Parsing Workflow
DBRECOVER employs a bottom-up parsing strategy:
- File Header Analysis โ Extract file number, tablespace ID, block size, Bootstrap RDBA
- Data Dictionary Parsing โ Parse bootstrap$, obj$, tab$, col$, user$ system tables for metadata
- Block-by-Block Analysis โ KCBH โ KTBBH โ KDBH โ KDBR โ Row Data
- Data Export โ File export or DataBridge direct transfer
2.3 Version Compatibility
Different Oracle versions have subtle variations in block format. DBRECOVER achieves full version compatibility through specialized analyzers:
| Oracle Version | DB Compatibility | Key Features |
|---|---|---|
| Oracle 7 | - | Early block structure |
| Oracle 8i | 08.xx.00.00 | ITL structure introduced |
| Oracle 9i | 09.xx.00.00 | ASSM support |
| Oracle 10g | 10.xx.00.00 | Bigfile tablespaces |
| Oracle 11g | 11.xx.00.00 | SecureFiles |
| Oracle 12c | 12.xx.00.00 | CDB/PDB architecture |
| Oracle 18c-26c | 18-26.xx.00.00 | Cloud-native optimizations |
3. Core Recovery Features
DELETE Recovery
Recover rows deleted by DELETE statements. Oracle marks rows as deleted but doesn't immediately clear data.
TRUNCATE Recovery
Recover truncated tables by scanning below the high-water mark for data blocks not yet overwritten.
DROP TABLE Recovery
Recover dropped tables using Scan Mode to discover table structures from remaining data blocks.
Corruption Recovery
Extract data from corrupted databases โ SYSTEM, UNDO, control files, or redo log damage.
Ransomware Recovery
Skip encrypted/corrupted blocks and extract data from readable portions of attacked files.
DDL Export
Export CREATE TABLE statements from data dictionary even when database cannot start.
3.1 DELETE Recovery Mechanism
When a DELETE statement executes, Oracle doesn't immediately clear the data.
Instead, it marks rows as "deleted." DBRECOVER can identify these marked rows and recover them:
- Detects delete flag in row header
- Reads ITL transaction information to determine deletion status
- Bypasses UNDO segments to read original data directly
3.2 TRUNCATE Recovery Mechanism
TRUNCATE TABLE resets the segment's High Water Mark (HWM), but physical data
isn't immediately overwritten. DBRECOVER scans all blocks below the HWM to find data in
blocks marked as "available" but still containing recoverable content.
The sooner you attempt recovery after DELETE/TRUNCATE, the higher the success rate. Once new data is written to the tablespace, original data may be overwritten.
3.3 Ransomware Attack Recovery
DBRECOVER identifies multiple ransomware encryption patterns and maximizes data recovery:
Pattern 1: Interval Encryption
โโโโโโโโโโฌโโโโโโโโโฌโโโโโโโโโฌโโโโโโโโโฌโโโโโโโโโฌโโโโโโโโโ
โNormal 0โEncrypt1โNormal 2โEncrypt3โNormal 4โEncrypt5โ
โโโโโโโโโโดโโโโโโโโโดโโโโโโโโโดโโโโโโโโโดโโโโโโโโโดโโโโโโโโโ
Pattern 2: Header Encryption
โโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Encrypted (first 10%) โ Normal Area (90%) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Pattern 3: Partial Encryption
โโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโ
โ Normal (40%) โ Encrypted(20%)โ Normal (40%) โ
โโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโ
4. DataBridge: Direct Data Transfer
DataBridge is a signature feature of DBRECOVER that transfers data directly from source datafiles to a target Oracle database without intermediate files.
4.1 How DataBridge Works
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ Damaged Source โ โ Target Database โ
โ .dbf Files โ โ (Running) โ
โโโโโโโโโโฌโโโโโโโโโ โโโโโโโโโโฒโโโโโโโโโ
โ โ
โ DBRECOVER DataBridge โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโ โ
โโโ>โ Parse Data Blocks โ โ
โ Generate INSERTs โโโโ
โ JDBC Batch Commit โ
โโโโโโโโโโโโโโโโโโโโโโโ
4.2 DataBridge Features
| Feature | Description |
|---|---|
| Table-Level Transfer | Quick migration of individual tables |
| Schema-Level Transfer | Batch transfer all tables in a schema |
| Auto Table Creation | Automatically creates table structures in target |
| LOB Support | Full support for BLOB/CLOB/NCLOB |
| Flow Control | Pause, Stop, Skip operations |
| Batch Commit | 5000 rows/batch for regular tables, configurable for LOB tables |
5. ASM Storage Support
For environments using Oracle ASM (Automatic Storage Management), DBRECOVER provides complete ASM access capabilities โ even when ASM disk groups cannot be mounted normally.
5.1 ASM Recovery Capabilities
- Disk Group Identification โ Automatic recognition of ASM disk group structure
- File Directory Parsing โ Parse ASM file aliases and paths
- Datafile Extraction โ Extract .dbf files from ASM disk groups
- Damaged ASM Recovery โ Attempt recovery even when ASM metadata is corrupted
5.2 ASM Recovery Steps
- Click ASM Analysis feature
- Add ASM disk devices (e.g.,
/dev/oracleasm/disk*) - Software automatically parses disk group structure
- Select required datafiles for extraction
- Process extracted files using standard recovery workflow
6. Scan Mode: When Dictionary is Lost
When SYSTEM tablespace corruption prevents reading the data dictionary, Scan Mode provides "blind scan" capability to discover and recover data.
6.1 How Scan Mode Works
- Full File Block Scan โ Scan every block in the datafile
- Data Block Identification โ Identify data blocks (type=06)
- Object Grouping โ Group blocks by Object ID
- Structure Inference โ Sample data to infer column types and structure
Configure in config/dbrecover-oracle.conf:
scan_row_limit=1000 โ Number of rows to sample for structure inference
IsRestrictMode=Yes โ Yes=strict matching, No=loose matching
7. Datafile Health Checker
Before attempting recovery, it's crucial to understand the state of your datafiles. The Datafile Health Checker provides professional assessment of datafile integrity.
7.1 Diagnostic Capabilities
| Check Type | Description | Error Code |
|---|---|---|
| Checksum Validation | Verify block header checksums | CHKSUM |
| Tail Check | Verify block trailer values | TAIL_CHK |
| Header Format | Check KCBH structure integrity | HEADER_FMT |
| Block Type Validation | Verify block type is valid | INVALID_TYPE |
| RDBA Consistency | Verify block position matches logical location | RDBA_MISMATCH |
| Zeroed Block Detection | Detect blocks that have been zeroed | ZEROED |
| Encrypted Block Identification | Identify encrypted/ransomware blocks | ENCRYPTED |
7.2 Sample Health Report
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Datafile Health Diagnostic Report โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฃ
โ File: USERS01.DBF โ
โ Diagnosis: [WARN] Partial Encryption (Suspected Ransomware Attack) โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฃ
โ โ
โ Corruption Distribution: โ
โ * Total Blocks: 131,072 โ
โ * Normal Blocks: 98,304 (75.0%) โ
โ * Encrypted Blocks: 32,768 (25.0%) โ
โ * Zeroed Blocks: 0 (0.0%) โ
โ โ
โ Recovery Recommendations: โ
โ 1. Approximately 75% of data blocks are directly readable โ
โ 2. Use DBRECOVER skip-corrupted-blocks mode for data extraction โ
โ 3. Most table data should be recoverable with some data gaps โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
8. Supported Oracle Versions
DBRECOVER supports the complete Oracle version range from Oracle 7 to Oracle 26c:
| Oracle Version | Release Year | Support Status |
|---|---|---|
| Oracle 7 | 1992 | โ Supported |
| Oracle 8i | 1998 | โ Supported |
| Oracle 9i | 2001 | โ Supported |
| Oracle 10g | 2003 | โ Supported |
| Oracle 11g/11gR2 | 2007/2009 | โ Supported |
| Oracle 12c / 12c PDB | 2013 | โ Supported |
| Oracle 18c | 2018 | โ Supported |
| Oracle 19c (LTS) | 2019 | โ Supported |
| Oracle 21c | 2021 | โ Supported |
| Oracle 23ai | 2024 | โ Supported |
| Oracle 26c | 2025+ | โ Supported |
7.1 Supported Data Types
| Category | Data Types |
|---|---|
| Character | VARCHAR2, NVARCHAR2, CHAR, NCHAR, VARCHAR, LONG |
| Numeric | NUMBER (any precision) |
| Date/Time | DATE, TIMESTAMP, TIMESTAMP WITH TIME ZONE, TIMESTAMP WITH LOCAL TIME ZONE |
| Binary | RAW, LONG RAW |
| Large Objects | BLOB, CLOB, NCLOB |
8.1 Supported Table Types
| Table Type | Support Status | Notes |
|---|---|---|
| Heap Tables | โ Full Support | Most common table type |
| Cluster Tables | โ Full Support | Shared data blocks |
| Partitioned Tables | โ Full Support | Range/List/Hash partitioning |
| Sub-partitioned Tables | โ Full Support | Composite partitioning |
| IOT (Index-Organized) | โ Not Supported | Use heap tables for recovery |
| Compressed Tables | โ Not Supported | Decompress before recovery |
Segment Management Support:
- ASSM (Automatic Segment Space Management) โ Fully supported
- MSSM (Manual Segment Space Management) โ Fully supported
- TDE (Transparent Data Encryption) โ Encrypted tablespaces cannot be processed
- IOT (Index-Organized Tables) โ Data stored in index structure is not recoverable
- Compressed Tables โ Table compression (OLTP, HCC, Basic) is not supported
- SecureFiles with Encryption โ Encrypted LOBs cannot be read
9. Recovery Scenarios and Use Cases
Scenario 1: Recover Accidentally Deleted Data
Situation: User executed DELETE FROM orders WHERE order_date < '2024-01-01' without backup.
- Load datafile containing the orders table
- Find the orders table in the table list
- Right-click โ Unload Data
- Check Include Deleted Rows
- Export data
Scenario 2: Recover Truncated Table
Situation: DBA mistakenly executed TRUNCATE TABLE customers.
- If pre-TRUNCATE backup exists, use that file
- Otherwise, load current datafile directly
- Use Scan Mode to scan the tablespace
- Export discovered data
Scenario 3: Database Cannot Start
Situation: ORA-01092: ORACLE instance terminated
- Copy all datafiles to recovery environment
- Load SYSTEM tablespace datafile
- Load user tablespace files requiring recovery
- Use DataBridge to transfer data to a new database
Scenario 4: Ransomware Attack Recovery
Situation: Partial datafiles encrypted, file sizes unchanged but content corrupted.
- Use Datafile Health Checker to assess damage extent
- Review health report for recoverable percentage
- Load datafiles โ software automatically skips corrupted blocks
- Extract data from readable blocks
Scenario 5: SYSTEM01.DBF Deleted
Situation: System tablespace datafile deleted/corrupted, database reports ORA-00704: bootstrap process failure.
- If SYSTEM backup exists, use it first
- Otherwise, load user tablespace files directly
- Use Scan Mode for table structure discovery
- Export identifiable data
Scenario 6: Missing Archive Logs
Situation: Recovery fails with ORA-01194 or ORA-00333 due to missing archives.
- When traditional recovery cannot proceed, use DBRECOVER
- Load datafiles directly (no archive logs needed)
- Extract current data from datafiles
Scenario 7: DROP TABLESPACE Recovery
Situation: DBA executed DROP TABLESPACE users INCLUDING CONTENTS AND DATAFILES.
- If datafiles still exist (not physically deleted), load them directly
- If deleted, attempt file recovery using OS-level tools first
- Use Scan Mode for structure discovery (dictionary records removed)
- Export recovered data
Scenario 8: DROP USER Recovery
Situation: Executed DROP USER scott CASCADE removing user and all objects.
- Load tablespace datafiles where user data resided
- Load SYSTEM tablespace if available (for historical metadata)
- If no SYSTEM backup, use Scan Mode
- Group and export data by Object ID
Scenario 9: Block Corruption (ORA-01578)
Situation: Query fails with ORA-01578: ORACLE data block corrupted (file # X, block # Y).
- Use Datafile Health Checker to locate all bad blocks
- Load datafile โ DBRECOVER automatically skips corrupted blocks
- Extract data from normal blocks
- Generate corruption impact report to assess data loss scope
Scenario 10: ASM Disk Group Recovery
Situation: ASM disk group won't mount, reporting ORA-15042, ORA-15032, or ORA-15040.
- Use ASM Analysis feature
- Add ASM disk devices
- Let software parse disk group structure
- Extract datafiles to regular filesystem
- Process extracted files with standard recovery workflow
Scenario 11: PDB/CDB Multitenant Recovery (12c+)
Situation: Need to recover data from a Pluggable Database (PDB).
- Load PDB datafiles
- Also load ROOT container's SYSTEM file (for metadata)
- Software automatically correlates PDB and ROOT information
- Navigate to PDB schemas and export data
Scenario 12: Corrupted RMAN/EXPDP Backups
Situation: Export file corrupted and cannot be imported, but original datafiles still exist.
- Ignore corrupted EXP/EXPDP files
- Use DBRECOVER to recover directly from source datafiles
- Use DataBridge to transfer data to target database
10. Oracle Errors and Recovery Capabilities
DBRECOVER can handle a comprehensive range of Oracle errors by bypassing the layers that generate these errors:
9.1 Block Corruption Errors
| Error Code | Description | DBRECOVER Handling |
|---|---|---|
| ORA-01578 | Data block corrupted | Skip corrupted blocks, extract from normal blocks |
| ORA-08103 | Object no longer exists | Read physical blocks directly, ignore dictionary state |
| ORA-01115 | IO error reading block | Skip I/O error blocks, read accessible blocks |
9.2 Redo Log and Recovery Errors
| Error Code | Description | DBRECOVER Handling |
|---|---|---|
| ORA-00333 | Redo log read error | No redo logs needed โ read datafiles directly |
| ORA-01113 | File needs media recovery | No media recovery needed โ extract data directly |
| ORA-01194 | File needs more recovery | Read current datafile state |
| ORA-01589 | Must use RESETLOGS | No RESETLOGS operation needed |
9.3 Database Startup Errors
| Error Code | Description | DBRECOVER Handling |
|---|---|---|
| ORA-00704 | Bootstrap process failure | Use Scan Mode โ no bootstrap needed |
| ORA-01109 | Database not open | Database doesn't need to be open |
| ORA-01092 | Instance terminated | Direct physical file access |
| ORA-01122 | File verification failed | Skip verification, parse directly |
9.4 ASM Storage Errors
| Error Code | Description | DBRECOVER Handling |
|---|---|---|
| ORA-15032 | Not all alterations performed | Direct ASM disk access |
| ORA-15040 | Diskgroup incomplete | Extract data from available disks |
| ORA-15042 | ASM file missing | Rebuild files through AU mapping |
9.5 Recovery Capability Matrix
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ DBRECOVER Error Handling Capability โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ Data Block Layer โโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ Full โ
โ Redo Log Layer โโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ Not Neededโ
โ UNDO Layer โโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ Not Neededโ
โ Data Dictionary โโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ Scan Mode โ
โ Control File โโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ Not Neededโ
โ ASM Storage โโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ Direct โ
โ TDE Encryption โโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ Not Supportโ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
11. Comparison with Other Recovery Methods
Understanding when to use DBRECOVER versus other Oracle recovery tools is crucial for effective disaster recovery planning.
11.1 Recovery Method Comparison Matrix
| Feature | DBRECOVER | RMAN | Flashback | LogMiner | Data Pump |
|---|---|---|---|---|---|
| Requires Running DB | โ No | โ Yes | โ Yes | โ Yes | โ Yes |
| Requires Pre-existing Backup | โ No | โ Yes | Limited | โ Yes (logs) | โ Yes (export) |
| Deleted Row Recovery | โ Yes | โ Via PIT | โ Via FDT | โ Undo needed | โ No |
| TRUNCATE Recovery | โ Yes | โ Via PIT | โ No | โ No | โ No |
| DROP TABLE Recovery | โ Yes | โ Via PIT | โ Via Recyclebin | โ No | โ No |
| Corrupted Datafile Recovery | โ Partial data | โ Via BMR | โ No | โ No | โ No |
| No Archive Logs Needed | โ Yes | โ No | โ No | โ No | โ Yes |
| ASM Direct Access | โ Yes | โ No | โ No | โ No | โ No |
| No Oracle Installation Needed | โ Yes | โ No | โ No | โ No | โ No |
PIT = Point-In-Time Recovery, FDT = Flashback Data Technology, BMR = Block Media Recovery
11.2 When to Use Each Method
- Database is recoverable and backups exist
- Need complete point-in-time recovery
- Archive logs are available
- Incremental block recovery is sufficient
- Database is running normally
- Recovery time is within the undo retention period
- Need to quickly undo recent changes
- Dropped table is in the Recyclebin
- Database won't start or is unreachable
- No backup exists or backup is corrupted
- Archive logs are missing
- Need to recover TRUNCATE'd data
- Need to recover from ransomware/encryption attacks
- SYSTEM tablespace is corrupted
- ASM disk group won't mount
- All else has failed
12. Performance Optimization
For large-scale recovery operations, optimizing DBRECOVER performance is critical. Here are key configuration recommendations:
12.1 JVM Memory Configuration
| Total Data Size | Recommended Heap | JVM Parameter |
|---|---|---|
| < 50 GB | 2-4 GB | -Xmx4g |
| 50-200 GB | 8-16 GB | -Xmx16g |
| 200-500 GB | 24-32 GB | -Xmx32g |
| > 500 GB | 48-64 GB | -Xmx64g |
12.2 DataBridge Batch Configuration
When using DataBridge to transfer data to a target database:
| Parameter | Default | Recommended | Description |
|---|---|---|---|
| Batch Size | 1000 | 5000-10000 | Rows per commit |
| Parallel Streams | 1 | 4-8 | Concurrent threads |
| LOB Inline Threshold | 4000 | 8000 | Bytes before external storage |
12.3 Performance Benchmarks
Typical performance metrics on modern hardware (SSD storage, 16 cores):
- Datafile Loading: 500 MB - 1 GB per minute
- Table Extraction: 100,000 - 500,000 rows per minute (depending on row size)
- ASM Extraction: 300 MB - 800 MB per minute
- DataBridge Transfer: 50,000 - 200,000 rows per minute
13. Frequently Asked Questions (FAQ)
Q1: Can DBRECOVER recover encrypted data (TDE)?
A: No, DBRECOVER does not support TDE (Transparent Data Encryption). TDE-encrypted tablespaces cannot be processed by DBRECOVER. You must decrypt the data using Oracle's native tools before attempting recovery, or recover from unencrypted backups.
Q2: What's the difference between DBRECOVER and DUL?
A: Both are offline data extraction tools. DUL (Data UnLoader) was an internal Oracle tool. DBRECOVER is a commercial product with a modern GUI, broader version support (including 23ai), and active development.
Q3: Will DBRECOVER work on Linux/AIX/HPUX files from Windows?
A: Yes. DBRECOVER is written in Java and handles endianness automatically. You can analyze AIX-created datafiles on a Windows workstation.
Q4: How do I recover data if SYSTEM tablespace is missing?
A: Use Scan Mode. This mode bypasses the data dictionary and scans data blocks directly. Tables are identified by Object ID rather than name. Column data types are inferred from block content.
Q5: Can I recover data from a partial ransomware attack?
A: Yes, this is a common use case. Use the Datafile Health Checker first to assess damage. DBRECOVER can extract data from all unencrypted blocks. Many ransomware variants encrypt only portions of files.
Q6: Does DBRECOVER require any Oracle client installation?
A: No. DBRECOVER is completely standalone. You only need Java Runtime Environment (JRE 8+). No Oracle client, no TNS configuration, no environment variables required.
Q7: Can I use DBRECOVER with Oracle on AWS RDS?
A: Not directly, since AWS RDS doesn't provide access to underlying datafiles. However, if you have a copy of the datafiles (from a snapshot or backup), DBRECOVER can process them.
Q8: What about Oracle Autonomous Database (ADB)?
A: Oracle Autonomous Database doesn't expose datafiles. DBRECOVER is designed for scenarios where you have direct file access (on-premises, IaaS, ExaCC, etc.).
14. Additional Resources
14.1 Video Tutorials
The following YouTube tutorials demonstrate DBRECOVER capabilities:
- How to recover TRUNCATE'd data with DBRECOVER
- Oracle ASM disk group extraction demonstration
- Recovering from ransomware-encrypted datafiles
14.2 Official Resources
15. Getting Started
10.1 System Requirements
| Requirement | Specification |
|---|---|
| Operating System | Windows / Linux |
| Java | JRE 8+ (bundled, no installation required) |
| Memory | Minimum 2GB, recommended 4GB+ |
| Display | Linux requires X11 graphics support |
10.2 Quick Start
# Windows
dbrecover.bat
# Linux
chmod +x dbrecover.sh
./dbrecover.sh
10.3 Basic Workflow
- Load Datafiles โ File โ Open Datafiles โ Select .dbf files
- Parse Dictionary โ Software automatically parses system tables (or use Scan Mode)
- Select Tables โ Navigate schema tree, double-click tables to preview
- Export Data โ Right-click โ Unload Data (file) or DataBridge (direct transfer)
- DROP TABLE / DROP-CREATE / TRUNCATE TABLE
- DROP TABLESPACE / DROP USER
- Corrupted EXP/EXPDP or RMAN backups
- DELETE deleted rows
- ASM disk groups that won't mount
- File system corruption
- SYSTEM01.DBF deleted
- ORA-00600 / ORA-07445 internal errors
- Database cannot open
- Data block corruption
- ASM disk header/metadata corruption
- Inconsistent recovery / missing archive logs
- Data dictionary or bootstrap object corruption
- Orphan datafiles (only one datafile available)
- DROP COLUMN deleted columns
Conclusion
DBRECOVER for Oracle represents the ultimate safety net for Oracle DBAs and data recovery specialists.