Tabla de Contenidos
- 1. Introducción: La Última Línea de Defensa
- 2. Arquitectura Técnica: Bloques de Datos Oracle
- 3. Características Principales de Recuperación
- 4. DataBridge: Transferencia Directa de Datos
- 5. Soporte de Almacenamiento ASM
- 6. Modo Escaneo: Cuando se Pierde el Diccionario
- 7. Verificador de Salud de Datafiles
- 8. Versiones de Oracle Soportadas
- 9. Escenarios de Recuperación (12 Casos)
- 10. Errores Oracle y Capacidades de Recuperación
- 11. Comparación con Otros Métodos de Recuperación
- 12. Optimización del Rendimiento
- 13. Preguntas Frecuentes (FAQ)
- 14. Recursos Adicionales
- 15. Primeros Pasos
- 16. Conclusión
- Sin Base de Datos en Ejecución — Extrae datos directamente de archivos .dbf
- Sin Prerequisito de Backup — Funciona cuando los backups RMAN no están disponibles
- Recuperación de Datos Eliminados — Recupera datos DELETE, TRUNCATE y DROP TABLE
- Recuperación de Ransomware — Extrae datos de datafiles parcialmente cifrados
- Acceso Directo a ASM — Lee disk groups ASM sin instancia ASM
- Todas las Versiones Oracle — Oracle 7 hasta Oracle 23ai/26c
- Multiplataforma — Lee archivos AIX/Linux en Windows y viceversa
1. Introducción: La Última Línea de Defensa
Oracle Database es reconocida por su robusta estabilidad y mecanismos completos de backup/recuperación. Sin embargo, existen escenarios del mundo real donde los métodos tradicionales de recuperación simplemente no pueden ayudar:
- Corrupción completa de la base de datos — Corrupción del tablespace SYSTEM o UNDO que impide el inicio
- Archivos de control y redo logs perdidos — Imposible realizar recuperación de medios estándar
- Backups RMAN expirados o corruptos — Solo quedan disponibles los datafiles crudos
- Ataques de cifrado ransomware — Cifrado parcial de datafiles requiriendo salvamento de porciones no cifradas
- Operaciones accidentales sin backup — DELETE/TRUNCATE/DROP sin flashback ni archive logs
DBRECOVER para Oracle aborda estos escenarios "imposibles". Es una herramienta profesional de recuperación de base de datos Oracle que bypasea completamente la capa de instancia Oracle, parseando y extrayendo datos directamente de la estructura binaria de los archivos .dbf.
Producto: DBRECOVER para Oracle
Versión Actual: 2512
Plataforma: Multiplataforma (basado en Java)
Versiones Soportadas: Oracle 7 hasta Oracle 26c
2. Arquitectura Técnica: Bloques de Datos Oracle
La tecnología central de DBRECOVER radica en su profundo entendimiento de la estructura interna de bloques de datos de Oracle. Cada bloque de datos Oracle consiste en los siguientes componentes jerárquicos:
2.1 Estructura del Bloque de Datos Oracle
┌─────────────────────────────────────────────────────────────┐
│ Bloque de Datos Oracle │
├─────────────────────────────────────────────────────────────┤
│ 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 c/u │ │
│ └─────────────────────────────────────────────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ KDBH (Kernel Data Block Header) - 14 bytes │
├─────────────────────────────────────────────────────────────┤
│ KDBT (Table Directory) - 4 bytes c/u │
├─────────────────────────────────────────────────────────────┤
│ KDBR (Row Directory) - 2 bytes c/u │
├─────────────────────────────────────────────────────────────┤
│ Área de Datos de Filas (datos reales) │
├─────────────────────────────────────────────────────────────┤
│ Espacio Libre │
├─────────────────────────────────────────────────────────────┤
│ Tail Check (trailer del bloque) - 4 bytes │
└─────────────────────────────────────────────────────────────┘
2.2 Flujo de Trabajo de Parseo de Datos
DBRECOVER emplea una estrategia de parseo de abajo hacia arriba:
- Análisis del Encabezado del Archivo — Extraer número de archivo, ID de tablespace, tamaño de bloque, Bootstrap RDBA
- Parseo del Diccionario de Datos — Parsear tablas del sistema bootstrap$, obj$, tab$, col$, user$ para metadatos
- Análisis Bloque por Bloque — KCBH → KTBBH → KDBH → KDBR → Datos de Fila
- Exportación de Datos — Exportación a archivo o transferencia directa DataBridge
3. Características Principales de Recuperación
Recuperación DELETE
Recupera filas eliminadas por sentencias DELETE. Oracle marca las filas como eliminadas pero no borra los datos inmediatamente.
Recuperación TRUNCATE
Recupera tablas truncadas escaneando debajo del high-water mark en busca de bloques de datos aún no sobrescritos.
Recuperación DROP TABLE
Recupera tablas eliminadas usando Modo Escaneo para descubrir estructuras de tablas desde bloques de datos restantes.
Recuperación de Corrupción
Extrae datos de bases de datos corruptas — daño en SYSTEM, UNDO, archivos de control o redo logs.
Recuperación de Ransomware
Salta bloques cifrados/corruptos y extrae datos de porciones legibles de archivos atacados.
Exportación DDL
Exporta sentencias CREATE TABLE desde el diccionario de datos incluso cuando la base de datos no puede iniciar.
3.1 Mecanismo de Recuperación DELETE
Cuando se ejecuta una sentencia DELETE, Oracle no borra los datos inmediatamente.
En cambio, marca las filas como "eliminadas." DBRECOVER puede identificar estas filas marcadas y recuperarlas:
- Detecta la bandera de eliminación en el encabezado de la fila
- Lee información de transacción ITL para determinar el estado de eliminación
- Bypasea segmentos UNDO para leer datos originales directamente
3.2 Mecanismo de Recuperación TRUNCATE
TRUNCATE TABLE reinicia el High Water Mark (HWM) del segmento, pero los datos físicos
no se sobrescriben inmediatamente. DBRECOVER escanea todos los bloques debajo del HWM para encontrar
datos en bloques marcados como "disponibles" pero que aún contienen contenido recuperable.
Cuanto antes intentes la recuperación después de DELETE/TRUNCATE, mayor será la tasa de éxito. Una vez que se escriben nuevos datos en el tablespace, los datos originales pueden ser sobrescritos.
4. DataBridge: Transferencia Directa de Datos
DataBridge es una característica distintiva de DBRECOVER que transfiere datos directamente desde los datafiles origen a una base de datos Oracle destino sin archivos intermedios.
4.1 Cómo Funciona DataBridge
┌─────────────────┐ ┌─────────────────┐
│ Fuente Dañada │ │ Base de Datos │
│ Archivos .dbf │ │ Destino │
└────────┬────────┘ └────────▲────────┘
│ │
│ DBRECOVER DataBridge │
│ │
│ ┌─────────────────────┐ │
└──>│ Parsear Bloques │ │
│ Generar INSERTs │──┘
│ Commit por Lotes │
└─────────────────────┘
4.2 Características de DataBridge
| Característica | Descripción |
|---|---|
| Transferencia por Tabla | Migración rápida de tablas individuales |
| Transferencia por Esquema | Transferencia por lotes de todas las tablas de un esquema |
| Creación Automática de Tablas | Crea automáticamente estructuras de tablas en el destino |
| Soporte LOB | Soporte completo para BLOB/CLOB/NCLOB |
| Control de Flujo | Operaciones de Pausar, Detener, Saltar |
| Commit por Lotes | 5000 filas/lote para tablas regulares, configurable para tablas LOB |
5. Soporte de Almacenamiento ASM
Para entornos que utilizan Oracle ASM (Automatic Storage Management), DBRECOVER proporciona capacidades completas de acceso a ASM — incluso cuando los disk groups ASM no pueden montarse normalmente.
5.1 Capacidades de Recuperación ASM
- Identificación de Disk Group — Reconocimiento automático de la estructura del disk group ASM
- Parseo del Directorio de Archivos — Parsear aliases y rutas de archivos ASM
- Extracción de Datafiles — Extraer archivos .dbf de disk groups ASM
- Recuperación de ASM Dañado — Intentar recuperación incluso cuando los metadatos ASM están corruptos
5.2 Pasos de Recuperación ASM
- Hacer clic en la función Análisis ASM
- Agregar dispositivos de disco ASM (ej.,
/dev/oracleasm/disk*) - El software parsea automáticamente la estructura del disk group
- Seleccionar los datafiles requeridos para extracción
- Procesar archivos extraídos usando el flujo de trabajo de recuperación estándar
6. Modo Escaneo: Cuando se Pierde el Diccionario
Cuando la corrupción del tablespace SYSTEM impide leer el diccionario de datos, el Modo Escaneo proporciona capacidad de "escaneo ciego" para descubrir y recuperar datos.
6.1 Cómo Funciona el Modo Escaneo
- Escaneo Completo de Bloques del Archivo — Escanear cada bloque en el datafile
- Identificación de Bloques de Datos — Identificar bloques de datos (type=06)
- Agrupación de Objetos — Agrupar bloques por Object ID
- Inferencia de Estructura — Muestrear datos para inferir tipos de columnas y estructura
Configurar en config/dbrecover-oracle.conf:
scan_row_limit=1000 — Número de filas a muestrear para inferencia de estructura
IsRestrictMode=Yes — Yes=coincidencia estricta, No=coincidencia flexible
7. Verificador de Salud de Datafiles
Antes de intentar la recuperación, es crucial entender el estado de tus datafiles. El Verificador de Salud de Datafiles proporciona una evaluación profesional de la integridad.
7.1 Capacidades de Diagnóstico
| Tipo de Verificación | Descripción | Código de Error |
|---|---|---|
| Validación de Checksum | Verificar checksums del encabezado de bloque | CHKSUM |
| Verificación de Cola | Verificar valores del trailer del bloque | TAIL_CHK |
| Formato de Encabezado | Verificar integridad de estructura KCBH | HEADER_FMT |
| Validación de Tipo de Bloque | Verificar que el tipo de bloque sea válido | INVALID_TYPE |
| Consistencia RDBA | Verificar que la posición coincida con ubicación lógica | RDBA_MISMATCH |
| Detección de Bloques en Cero | Detectar bloques que han sido llenados con ceros | ZEROED |
| Identificación de Bloques Cifrados | Identificar bloques cifrados/ransomware | ENCRYPTED |
7.2 Ejemplo de Informe de Salud
╔══════════════════════════════════════════════════════════════════════╗
║ Informe de Diagnóstico de Salud del Datafile ║
╠══════════════════════════════════════════════════════════════════════╣
║ Archivo: USERS01.DBF ║
║ Diagnóstico: [ADVERTENCIA] Cifrado Parcial (Sospecha de Ransomware) ║
╠══════════════════════════════════════════════════════════════════════╣
║ ║
║ Distribución de Corrupción: ║
║ * Bloques Totales: 131,072 ║
║ * Bloques Normales: 98,304 (75.0%) ║
║ * Bloques Cifrados: 32,768 (25.0%) ║
║ * Bloques en Cero: 0 (0.0%) ║
║ ║
║ Recomendaciones de Recuperación: ║
║ 1. Aproximadamente 75% de bloques de datos son legibles ║
║ 2. Usar modo saltar-bloques-corruptos de DBRECOVER ║
║ 3. La mayoría de los datos deberían ser recuperables ║
║ ║
╚══════════════════════════════════════════════════════════════════════╝
8. Versiones de Oracle Soportadas
DBRECOVER soporta el rango completo de versiones de Oracle desde Oracle 7 hasta Oracle 26c:
| Versión Oracle | Año de Lanzamiento | Estado de Soporte |
|---|---|---|
| Oracle 7 | 1992 | ✓ Soportado |
| Oracle 8i | 1998 | ✓ Soportado |
| Oracle 9i | 2001 | ✓ Soportado |
| Oracle 10g | 2003 | ✓ Soportado |
| Oracle 11g/11gR2 | 2007/2009 | ✓ Soportado |
| Oracle 12c / 12c PDB | 2013 | ✓ Soportado |
| Oracle 18c | 2018 | ✓ Soportado |
| Oracle 19c (LTS) | 2019 | ✓ Soportado |
| Oracle 21c | 2021 | ✓ Soportado |
| Oracle 23ai | 2024 | ✓ Soportado |
| Oracle 26c | 2025+ | ✓ Soportado |
8.1 Tipos de Datos Soportados
| Categoría | Tipos de Datos |
|---|---|
| Caracteres | VARCHAR2, NVARCHAR2, CHAR, NCHAR, VARCHAR, LONG |
| Numéricos | NUMBER (cualquier precisión) |
| Fecha/Hora | DATE, TIMESTAMP, TIMESTAMP WITH TIME ZONE, TIMESTAMP WITH LOCAL TIME ZONE |
| Binarios | RAW, LONG RAW |
| Objetos Grandes | BLOB, CLOB, NCLOB |
8.2 Tipos de Tablas Soportados
| Tipo de Tabla | Estado de Soporte | Notas |
|---|---|---|
| Tablas Heap | ✓ Soporte Completo | Tipo de tabla más común |
| Tablas Cluster | ✓ Soporte Completo | Bloques de datos compartidos |
| Tablas Particionadas | ✓ Soporte Completo | Particionamiento Range/List/Hash |
| Tablas Sub-particionadas | ✓ Soporte Completo | Particionamiento compuesto |
| IOT (Index-Organized) | ✗ No Soportado | Usar tablas heap para recuperación |
| Tablas Comprimidas | ✗ No Soportado | Descomprimir antes de recuperación |
Soporte de Gestión de Segmentos:
- ASSM (Automatic Segment Space Management) — Completamente soportado
- MSSM (Manual Segment Space Management) — Completamente soportado
- TDE (Transparent Data Encryption) — Los tablespaces cifrados no pueden ser procesados
- IOT (Index-Organized Tables) — Los datos almacenados en estructura de índice no son recuperables
- Tablas Comprimidas — La compresión de tablas (OLTP, HCC, Basic) no está soportada
- SecureFiles con Cifrado — Los LOBs cifrados no pueden ser leídos
9. Escenarios de Recuperación y Casos de Uso
Escenario 1: Recuperar Datos Eliminados Accidentalmente
Situación: Usuario ejecutó DELETE FROM orders WHERE order_date < '2024-01-01' sin backup.
- Cargar el datafile que contiene la tabla orders
- Encontrar la tabla orders en la lista de tablas
- Clic derecho → Unload Data
- Marcar Include Deleted Rows
- Exportar datos
Escenario 2: Recuperar Tabla Truncada
Situación: DBA ejecutó por error TRUNCATE TABLE customers.
- Si existe backup pre-TRUNCATE, usar ese archivo
- De lo contrario, cargar el datafile actual directamente
- Usar Modo Escaneo para escanear el tablespace
- Exportar datos descubiertos
Escenario 3: La Base de Datos No Puede Iniciar
Situación: ORA-01092: ORACLE instance terminated
- Copiar todos los datafiles al entorno de recuperación
- Cargar el datafile del tablespace SYSTEM
- Cargar los archivos de tablespace de usuario que requieren recuperación
- Usar DataBridge para transferir datos a una nueva base de datos
Escenario 4: Recuperación de Ataque Ransomware
Situación: Datafiles parcialmente cifrados, tamaños de archivo sin cambios pero contenido corrupto.
- Usar Verificador de Salud de Datafiles para evaluar el alcance del daño
- Revisar el informe de salud para el porcentaje recuperable
- Cargar datafiles — el software salta automáticamente los bloques corruptos
- Extraer datos de bloques legibles
Escenario 5: SYSTEM01.DBF Eliminado
Situación: Datafile del tablespace SYSTEM eliminado/corrupto, la base de datos reporta ORA-00704: bootstrap process failure.
- Si existe backup de SYSTEM, usarlo primero
- De lo contrario, cargar archivos de tablespace de usuario directamente
- Usar Modo Escaneo para descubrimiento de estructura de tablas
- Exportar datos identificables
Escenario 6: Archive Logs Faltantes
Situación: La recuperación falla con ORA-01194 u ORA-00333 debido a archives faltantes.
- Cuando la recuperación tradicional no puede proceder, usar DBRECOVER
- Cargar datafiles directamente (no se necesitan archive logs)
- Extraer datos actuales de los datafiles
Escenario 7: Recuperación DROP TABLESPACE
Situación: DBA ejecutó DROP TABLESPACE users INCLUDING CONTENTS AND DATAFILES.
- Si los datafiles aún existen (no eliminados físicamente), cargarlos directamente
- Si fueron eliminados, intentar recuperación de archivos usando herramientas a nivel de SO primero
- Usar Modo Escaneo para descubrimiento de estructura (registros del diccionario eliminados)
- Exportar datos recuperados
Escenario 8: Recuperación DROP USER
Situación: Se ejecutó DROP USER scott CASCADE eliminando el usuario y todos los objetos.
- Cargar los datafiles del tablespace donde residían los datos del usuario
- Cargar tablespace SYSTEM si está disponible (para metadatos históricos)
- Si no hay backup de SYSTEM, usar Modo Escaneo
- Agrupar y exportar datos por Object ID
Escenario 9: Corrupción de Bloques (ORA-01578)
Situación: La consulta falla con ORA-01578: ORACLE data block corrupted (file # X, block # Y).
- Usar Verificador de Salud de Datafiles para localizar todos los bloques malos
- Cargar datafile — DBRECOVER salta automáticamente los bloques corruptos
- Extraer datos de bloques normales
- Generar informe de impacto de corrupción para evaluar el alcance de pérdida de datos
Escenario 10: Recuperación de Disk Group ASM
Situación: El disk group ASM no monta, reportando ORA-15042, ORA-15032, u ORA-15040.
- Usar la función Análisis ASM
- Agregar dispositivos de disco ASM
- Dejar que el software parsee la estructura del disk group
- Extraer datafiles al sistema de archivos regular
- Procesar archivos extraídos con el flujo de trabajo de recuperación estándar
Escenario 11: Recuperación PDB/CDB Multitenant (12c+)
Situación: Necesita recuperar datos de una Pluggable Database (PDB).
- Cargar los datafiles de la PDB
- También cargar el archivo SYSTEM del contenedor ROOT (para metadatos)
- El software correlaciona automáticamente la información de PDB y ROOT
- Navegar a los esquemas de la PDB y exportar datos
Escenario 12: Backups RMAN/EXPDP Corruptos
Situación: El archivo de exportación está corrupto y no se puede importar, pero los datafiles originales aún existen.
- Ignorar los archivos EXP/EXPDP corruptos
- Usar DBRECOVER para recuperar directamente desde los datafiles origen
- Usar DataBridge para transferir datos a la base de datos destino
10. Errores Oracle y Capacidades de Recuperación
DBRECOVER puede manejar un rango completo de errores Oracle al bypasear las capas que generan estos errores:
10.1 Errores de Corrupción de Bloques
| Código de Error | Descripción | Manejo de DBRECOVER |
|---|---|---|
| ORA-01578 | Bloque de datos corrupto | Salta bloques corruptos, extrae de bloques normales |
| ORA-08103 | El objeto ya no existe | Lee bloques físicos directamente, ignora estado del diccionario |
| ORA-01115 | Error de E/S leyendo bloque | Salta bloques con error de E/S, lee bloques accesibles |
10.2 Errores de Redo Log y Recuperación
| Código de Error | Descripción | Manejo de DBRECOVER |
|---|---|---|
| ORA-00333 | Error de lectura de redo log | No se necesitan redo logs — lee datafiles directamente |
| ORA-01113 | Archivo necesita media recovery | No se necesita media recovery — extrae datos directamente |
| ORA-01194 | Archivo necesita más recuperación | Lee el estado actual del datafile |
| ORA-01589 | Debe usar RESETLOGS | No se necesita operación RESETLOGS |
10.3 Errores de Inicio de Base de Datos
| Código de Error | Descripción | Manejo de DBRECOVER |
|---|---|---|
| ORA-00704 | Fallo del proceso bootstrap | Usa Modo Escaneo — no se necesita bootstrap |
| ORA-01109 | Base de datos no abierta | No necesita que la base de datos esté abierta |
| ORA-01092 | Instancia terminada | Acceso físico directo a archivos |
| ORA-01122 | Verificación de archivo falló | Salta verificación, parsea directamente |
10.4 Errores de Almacenamiento ASM
| Código de Error | Descripción | Manejo de DBRECOVER |
|---|---|---|
| ORA-15032 | No se realizaron todas las alteraciones | Acceso directo a disco ASM |
| ORA-15040 | Diskgroup incompleto | Extrae datos de discos disponibles |
| ORA-15042 | Archivo ASM faltante | Reconstruye archivos mediante mapeo AU |
11. Comparación con Otros Métodos de Recuperación
Entender cuándo usar DBRECOVER versus otras herramientas de recuperación Oracle es crucial para una planificación efectiva de recuperación ante desastres.
11.1 Matriz de Comparación de Métodos de Recuperación
| Característica | DBRECOVER | RMAN | Flashback | LogMiner | Data Pump |
|---|---|---|---|---|---|
| Requiere BD en Ejecución | ❌ No | ✓ Sí | ✓ Sí | ✓ Sí | ✓ Sí |
| Requiere Backup Previo | ❌ No | ✓ Sí | Limitado | ✓ Sí (logs) | ✓ Sí (export) |
| Recuperación de Filas Eliminadas | ✓ Sí | ✓ Vía PIT | ✓ Vía FDT | ⚠ Necesita Undo | ❌ No |
| Recuperación TRUNCATE | ✓ Sí | ✓ Vía PIT | ❌ No | ❌ No | ❌ No |
| Recuperación DROP TABLE | ✓ Sí | ✓ Vía PIT | ✓ Vía Papelera | ❌ No | ❌ No |
| Sin Archive Logs Necesarios | ✓ Sí | ❌ No | ❌ No | ❌ No | ✓ Sí |
| Acceso Directo ASM | ✓ Sí | ❌ No | ❌ No | ❌ No | ❌ No |
| Sin Instalación Oracle Necesaria | ✓ Sí | ❌ No | ❌ No | ❌ No | ❌ No |
PIT = Recuperación Punto-en-el-Tiempo, FDT = Flashback Data Technology, BMR = Block Media Recovery
11.2 Cuándo Usar Cada Método
- La base de datos es recuperable y existen backups
- Se necesita recuperación completa punto-en-el-tiempo
- Los archive logs están disponibles
- La recuperación incremental de bloques es suficiente
- La base de datos está funcionando normalmente
- El tiempo de recuperación está dentro del período de retención de undo
- Se necesita deshacer rápidamente cambios recientes
- La tabla eliminada está en la Papelera de Reciclaje
- La base de datos no inicia o es inaccesible
- No existe backup o el backup está corrupto
- Faltan los archive logs
- Se necesita recuperar datos TRUNCATEados
- Se necesita recuperar de ataques ransomware/cifrado
- El tablespace SYSTEM está corrupto
- El disk group ASM no monta
- Todo lo demás ha fallado
12. Optimización del Rendimiento
Para operaciones de recuperación a gran escala, optimizar el rendimiento de DBRECOVER es crítico. Aquí están las recomendaciones clave de configuración:
12.1 Configuración de Memoria JVM
| Tamaño Total de Datos | Heap Recomendado | Parámetro JVM |
|---|---|---|
| < 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 Configuración de Lotes DataBridge
Al usar DataBridge para transferir datos a una base de datos destino:
| Parámetro | Por Defecto | Recomendado | Descripción |
|---|---|---|---|
| Tamaño de Lote | 1000 | 5000-10000 | Filas por commit |
| Flujos Paralelos | 1 | 4-8 | Hilos concurrentes |
| Umbral LOB Inline | 4000 | 8000 | Bytes antes de almacenamiento externo |
12.3 Benchmarks de Rendimiento
Métricas típicas de rendimiento en hardware moderno (almacenamiento SSD, 16 núcleos):
- Carga de Datafiles: 500 MB - 1 GB por minuto
- Extracción de Tablas: 100,000 - 500,000 filas por minuto (dependiendo del tamaño de fila)
- Extracción ASM: 300 MB - 800 MB por minuto
- Transferencia DataBridge: 50,000 - 200,000 filas por minuto
13. Preguntas Frecuentes (FAQ)
P1: ¿Puede DBRECOVER recuperar datos cifrados (TDE)?
R: No, DBRECOVER no soporta TDE (Transparent Data Encryption). Los tablespaces cifrados con TDE no pueden ser procesados por DBRECOVER. Debes descifrar los datos usando las herramientas nativas de Oracle antes de intentar la recuperación, o recuperar desde backups no cifrados.
P2: ¿Cuál es la diferencia entre DBRECOVER y DUL?
R: Ambas son herramientas de extracción de datos offline. DUL (Data UnLoader) era una herramienta interna de Oracle. DBRECOVER es un producto comercial con GUI moderno, soporte de versiones más amplio (incluyendo 23ai), y desarrollo activo.
P3: ¿Funcionará DBRECOVER con archivos Linux/AIX/HPUX desde Windows?
R: Sí. DBRECOVER está escrito en Java y maneja el endianness automáticamente. Puedes analizar datafiles creados en AIX desde una estación de trabajo Windows.
P4: ¿Cómo recupero datos si falta el tablespace SYSTEM?
R: Usa el Modo Escaneo. Este modo bypasea el diccionario de datos y escanea bloques de datos directamente. Las tablas se identifican por Object ID en lugar de por nombre. Los tipos de datos de columnas se infieren del contenido de los bloques.
P5: ¿Puedo recuperar datos de un ataque parcial de ransomware?
R: Sí, este es un caso de uso común. Usa primero el Verificador de Salud de Datafiles para evaluar el daño. DBRECOVER puede extraer datos de todos los bloques no cifrados. Muchas variantes de ransomware cifran solo porciones de archivos.
P6: ¿DBRECOVER requiere alguna instalación de cliente Oracle?
R: No. DBRECOVER es completamente autónomo. Solo necesitas Java Runtime Environment (JRE 8+). Sin cliente Oracle, sin configuración TNS, sin variables de entorno requeridas.
P7: ¿Puedo usar DBRECOVER con Oracle en AWS RDS?
R: No directamente, ya que AWS RDS no proporciona acceso a los datafiles subyacentes. Sin embargo, si tienes una copia de los datafiles (de un snapshot o backup), DBRECOVER puede procesarlos.
P8: ¿Qué pasa con Oracle Autonomous Database (ADB)?
R: Oracle Autonomous Database no expone los datafiles. DBRECOVER está diseñado para escenarios donde tienes acceso directo a archivos (on-premises, IaaS, ExaCC, etc.).
14. Recursos Adicionales
14.1 Tutoriales en Video
Los siguientes tutoriales de YouTube demuestran las capacidades de DBRECOVER:
- Cómo recuperar datos TRUNCATEados con DBRECOVER
- Demostración de extracción de disk group ASM de Oracle
14.2 Recursos Oficiales
15. Primeros Pasos
15.1 Requisitos del Sistema
| Requisito | Especificación |
|---|---|
| Sistema Operativo | Windows / Linux |
| Java | JRE 8+ (incluido, no requiere instalación) |
| Memoria | Mínimo 2GB, recomendado 4GB+ |
| Pantalla | Linux requiere soporte gráfico X11 |
15.2 Inicio Rápido
# Windows
dbrecover.bat
# Linux
chmod +x dbrecover.sh
./dbrecover.sh
15.3 Flujo de Trabajo Básico
- Cargar Datafiles — Archivo → Abrir Datafiles → Seleccionar archivos .dbf
- Parsear Diccionario — El software parsea automáticamente las tablas del sistema (o usar Modo Escaneo)
- Seleccionar Tablas — Navegar el árbol de esquemas, doble clic en tablas para previsualizar
- Exportar Datos — Clic derecho → Unload Data (archivo) o DataBridge (transferencia directa)
- DROP TABLE / DROP-CREATE / TRUNCATE TABLE
- DROP TABLESPACE / DROP USER
- Backups EXP/EXPDP o RMAN corruptos
- Filas eliminadas con DELETE
- Disk groups ASM que no montan
- Corrupción del sistema de archivos
- SYSTEM01.DBF eliminado
- Errores internos ORA-00600 / ORA-07445
- Base de datos que no puede abrir
- Corrupción de bloques de datos
- Corrupción de encabezado/metadatos de disco ASM
- Recuperación inconsistente / archive logs faltantes
- Corrupción del diccionario de datos u objetos bootstrap
- Datafiles huérfanos (solo un datafile disponible)
- Columnas eliminadas con DROP COLUMN
Conclusión
DBRECOVER para Oracle representa la red de seguridad definitiva para DBAs Oracle y especialistas en recuperación de datos.