Tabla de Contenidos
- 1. Introducción: La Última Línea de Defensa
- 2. Preguntas sobre Licencias y Comerciales
- 3. Operaciones Técnicas y Configuración
- 4. Modo Diccionario vs Modo Sin Diccionario
- 5. Compatibilidad y Selección de Versiones
- 6. Solución de Problemas Comunes
- 7. Escenarios Típicos de Recuperación
- 8. Tablas de Referencia Rápida
1. Introducción: La Última Línea de Defensa
En la gestión de bases de datos empresariales, la integridad y disponibilidad de datos forman la piedra angular de la continuidad del negocio. Cuando las estrategias de respaldo convencionales fallan, y los mecanismos de Recovery Manager (RMAN) y Data Guard de Oracle no pueden manejar fallos catastróficos como ORA-01194 (inconsistencia entre archivo de control y archivo de datos), ORA-00600 (errores internos), o corrupción severa del encabezado de archivos, los Administradores de Bases de Datos (DBAs) a menudo se encuentran en un callejón sin salida.
DBRECOVER (anteriormente conocido como PRM-DUL) sirve como una herramienta de recuperación a nivel forense que evita el motor SQL de Oracle para leer directamente los archivos de datos subyacentes (datafiles). Representa la última esperanza para muchas empresas para rescatar sus activos de datos críticos.
DBRECOVER es una herramienta basada en Java que puede extraer datos directamente de datafiles de Oracle (.dbf) sin requerir una instancia de Oracle en ejecución, archivos de control o redo logs. Soporta versiones de Oracle desde 8i hasta 23c y puede manejar bases de datos severamente corruptas que no pueden abrirse por medios normales.
2. Preguntas sobre Licencias y Comerciales
Compré una licencia, pero la clave muestra error "Invalid Key". ¿Qué está mal?
Esto típicamente es causado por uno de tres problemas:
- Sensibilidad a Mayúsculas: La licencia está vinculada al DB_NAME de manera
sensible a mayúsculas/minúsculas. Oracle internamente almacena DB_NAME en mayúsculas.
Asegúrese de ingresar
ORCLnoorcl. - Incompatibilidad de Versión: Su clave puede estar generada para una versión específica (ej., versión 2009) mientras está ejecutando una versión diferente (ej., 23rc1). Diferentes versiones pueden usar diferentes algoritmos de clave. Descargue e intente con la versión del software correspondiente.
- Reconocimiento de Nombre Interno: Si los encabezados de sus archivos están
severamente dañados, el software puede no detectar el DB_NAME real y recurrirá a un nombre
interno predeterminado (como
SHITANRUANJIANoSAMIL). Revise el archivo de loglog_dbrecover.txtpara ver qué DB_NAME detectó el software. Si muestra un nombre interno, contacte soporte para una clave especial que coincida con ese nombre.
¿Puedo comprar una "Licencia de Técnico" para dar servicio a todas las bases de datos de mis clientes?
No. DBRECOVER usa una política estricta de "una-base-de-datos-una-licencia". La clave de licencia está algorítmicamente vinculada al DB_NAME de la base de datos objetivo. Esto significa que para cada base de datos de cliente único que atienda, debe comprar una licencia separada.
Para proveedores de servicios con alta frecuencia de compra, contacte a nuestro equipo de ventas en [email protected] para consultar sobre descuentos por volumen.
¿Cuál es el precio? ¿Puedo obtener una factura?
La Edición Enterprise tiene un precio de $1,350 USD por base de datos. El pago se procesa a través de Stripe, y un recibo electrónico se envía automáticamente.
Si requiere una factura formal con información fiscal de la empresa (número de IVA, nombre de empresa, dirección), envíe sus datos a [email protected] después de completar el pago, y emitiremos una manualmente.
¿Puedo obtener un reembolso si el software no recupera mis datos?
No se proporcionan reembolsos. Debido a la naturaleza especial de los servicios de recuperación de datos, implementamos una política de "probar antes de comprar".
Antes de comprar:
- Descargue la Edición Comunitaria gratuita
- Use la función "Examinar Conteo de Registros" para escanear sus datafiles
- Verifique que puede ver estructuras de tablas y previsualizar datos (limitado a 10,000 filas por tabla)
Si puede ver datos en la Edición Comunitaria, confirma que los datos son recuperables. Una vez que se emite una clave de licencia, la transacción es final.
Siempre use la Edición Comunitaria para verificar la recuperabilidad de datos antes de comprar. La licencia Enterprise solo elimina el límite de exportación de 10,000 filas — no agrega ninguna capacidad de recuperación adicional.
3. Operaciones Técnicas y Configuración
¿Por qué mis datos exportados solo muestran 10,000 filas? Mi tabla tiene millones de registros.
Actualmente está ejecutando la Edición Comunitaria (versión de prueba), que tiene un límite codificado de 10,000 filas por tabla para exportación. Esto no es un error del software ni pérdida de datos.
Después de ingresar una clave de licencia válida de Edición Enterprise y reiniciar el software, esta restricción se elimina automáticamente, permitiendo la exportación completa de datos.
El script de inicio no hace nada cuando hago clic — o mi antivirus lo elimina.
Problema de Entorno Java (solo versiones antiguas):
- DBRECOVER 2512 y posterior: Incluye JRE integrado — no requiere instalación separada de Java
- Versiones anteriores (23rc1 y anteriores): Requieren Java Runtime Environment (JRE) 1.8 o superior
- Si usa una versión anterior, asegúrese de que la variable de entorno
JAVA_HOMEesté correctamente configurada
Falso Positivo del Antivirus:
DBRECOVER realiza operaciones de lectura de sectores de disco de bajo nivel que pueden activar la detección heurística en software de seguridad. Este patrón de comportamiento es similar a lo que hace el ransomware (leer datos crudos del disco), causando que Windows Defender y otros programas antivirus lo marquen como amenaza.
Esto es un falso positivo. Para resolver:
- Agregue el directorio de DBRECOVER a la lista de exclusiones de su antivirus
- Re-extraiga el archivo ZIP
- Ejecute la aplicación
Mi base de datos corre en AIX/HP-UX. ¿Puedo recuperarla en Windows?
Sí, y este es el enfoque recomendado.
DBRECOVER tiene funcionalidad de conversión de orden de bytes (endianness) incorporada. Puede:
- Copiar los datafiles (.dbf) de su servidor Unix a una PC con Windows
- Cargarlos en DBRECOVER en Windows
- El software detecta y maneja automáticamente el formato Big Endian de AIX/HP-UX/Solaris
Esta estrategia de "recuperación fuera del sitio" evita el riesgo de configurar Java en un servidor de producción dañado y proporciona una mejor experiencia de GUI en Windows.
El software se cuelga o falla durante el escaneo. ¿Qué debo hacer?
Esto típicamente ocurre cuando el escáner encuentra bloques de datos corruptos causando bucles lógicos. Intente estos pasos:
- Cambiar Versiones: Si usa la versión 23rc1, descargue e intente la versión 2009 más antigua pero más estable.
- Reducir Alcance: No cargue todos los datafiles a la vez. Comience solo con los archivos del tablespace de negocio principal.
- Cambiar Modos: Si el Modo Diccionario se cuelga, es probable que SYSTEM.DBF esté corrupto. Cambie a Modo Sin Diccionario.
4. Modo Diccionario vs Modo Sin Diccionario
Entender estos dos modos es fundamental para usar DBRECOVER efectivamente. La elección depende de si su tablespace SYSTEM (que contiene el diccionario de datos de Oracle) está intacto.
¿Debo usar Modo Diccionario o Modo Sin Diccionario?
Su elección depende de la salud de su tablespace SYSTEM (típicamente SYSTEM.DBF):
Modo Diccionario:
- Cuándo usar: Cuando tiene un archivo SYSTEM.DBF saludable e intacto
- Qué obtiene: Nombres completos de tablas, nombres de columnas y estructura de esquema — igual que navegar en una base de datos normal
- Experiencia: Navegar Esquema → Nombre de Tabla en vista de árbol, exportar tablas por nombre
Modo Sin Diccionario:
- Cuándo usar: Cuando SYSTEM.DBF se perdió, está corrupto o fue sobrescrito
- Qué obtiene: Segmentos de datos crudos identificados solo por DATA_OBJECT_ID
(ej.,
OBJ(12345)en lugar deT_PEDIDO) - Experiencia: Debe identificar manualmente las tablas muestreando el contenido de datos y deduciendo qué representa cada objeto
En Modo Sin Diccionario, veo muchas entradas "LOB Segment". ¿Son mis tablas?
No. Los LOB Segments son áreas de almacenamiento para Objetos Grandes (imágenes, texto largo, BLOBs). Están adjuntos a una tabla padre, no son tablas independientes.
No puede extraer datos estructurados significativos directamente de un segmento LOB. Debe:
- Encontrar el Segmento de Tabla padre que posee este LOB
- Recuperar primero los datos de la tabla principal
- Los datos LOB típicamente se extraen junto con la tabla principal (si la estructura está intacta)
En Modo Sin Diccionario, la identificación es trabajo forense manual:
- Exportar filas de muestra (primeras 10 filas) de un
OBJ(xxxxx) - Examinar el contenido de datos (fechas, montos, nombres, etc.)
- Deducir qué tabla de negocio representa
- Repetir para todos los objetos que necesita recuperar
Esto puede consumir mucho tiempo para bases de datos con miles de objetos.
5. Compatibilidad y Selección de Versiones
¿Qué versión de DBRECOVER debo usar?
Hay dos versiones principales disponibles:
| Característica | Versión Legacy 2009 | Versión Moderna 2512 (Actual) |
|---|---|---|
| Soporte Oracle | 8i, 9i, 10g, 11g | 8i hasta 23ai/26c |
| Estabilidad | Extremadamente alta, lógica simple | Alta (mejorada en 2512) |
| Soporte PDB/CDB | No | Sí (arquitectura Multitenant) |
| JRE Incluido | No (requiere Java 1.8+) | Sí (no necesita instalación de Java) |
| Motor de Escaneo | Escaneo lineal básico | Escaneo de extensiones mejorado con verificador de salud |
| Mejor Para | Sistemas legacy (Oracle 11g y anteriores) | Todas las versiones de Oracle, especialmente 12c+ |
Recomendación: Use la versión 2512 para la mayoría de escenarios de recuperación. Mantenga la versión 2009 como respaldo para bases de datos Oracle 11g y anteriores si la versión moderna encuentra problemas.
6. Solución de Problemas Comunes
El software detecta DB_NAME como "SHITANRUANJIAN" en lugar de mi nombre real de base de datos.
Esto ocurre cuando los encabezados de los datafiles están severamente corruptos y el software
no puede leer el DB_NAME real. El software recurre a nombres internos predeterminados como
SHITANRUANJIAN o SAMIL.
Solución:
- Revise
log_dbrecover.txtpara confirmar qué nombre fue detectado - Contacte soporte — recibirá dos claves: una para su DB_NAME real y otra para el nombre interno
- Use la clave que coincida con lo que el software detecta
¿Qué significa "El archivo está fuzzy"?
Un archivo "fuzzy" es uno donde los bloques de datos contienen cambios de diferentes puntos en el tiempo — el archivo es internamente inconsistente. Esto sucede cuando:
- La base de datos falló mientras se escribían los datafiles
- Un respaldo en caliente fue interrumpido antes de
END BACKUP - Las instantáneas de almacenamiento capturaron archivos en diferentes momentos
DBRECOVER aún puede leer datos de archivos fuzzy — no requiere consistencia como el kernel de Oracle. Puede perder transacciones no confirmadas, pero los datos confirmados en los bloques pueden recuperarse.
¿Cómo verifico si mis datafiles son utilizables antes de comprar?
Use la prueba gratuita de la Edición Comunitaria:
- Descargue desde la página de DBRECOVER para Oracle
- Cargue sus datafiles
- Use "Examinar Conteo de Registros" o navegue las tablas
- Si puede ver tablas y previsualizar filas (hasta 10,000), sus datos son recuperables
La Edición Comunitaria tiene capacidades de recuperación idénticas — solo el conteo de exportación de filas está limitado.
7. Escenarios Típicos de Recuperación
Entender cuándo DBRECOVER se convierte en la herramienta correcta ayuda a establecer expectativas apropiadas. Aquí están los escenarios más comunes donde los clientes recurren a DBRECOVER.
ORA-01194: Pérdida de Archive Log
La base de datos falló durante la recuperación. El archivo de control muestra datafiles en estado "fuzzy" requiriendo más redo logs, pero esos logs están físicamente perdidos.
Contexto: El cliente ya intentó parámetros ocultos como _ALLOW_RESETLOGS_CORRUPTION
para forzar la apertura de la base de datos, pero falló.
Rol de DBRECOVER: Actúa como una herramienta de "lectura sucia". Ignora las verificaciones de consistencia de SCN y lee datos directamente de los bloques. Las transacciones no confirmadas y los datos de redo no volcados se perderán, pero todos los datos ya escritos en bloques de datafile pueden recuperarse.
ORA-00600: Errores Internos
Contexto: La instancia de Oracle falla repetidamente debido a errores de lógica interna (fallos de aserción). La base de datos no puede montarse ni abrirse. El Soporte oficial de Oracle puede requerir un procesamiento de SR prolongado.
Rol de DBRECOVER: Como DBRECOVER se ejecuta como un programa Java independiente fuera de la instancia de Oracle, no es afectado por la lógica de validación interna de Oracle. Es la única forma de evadir los mecanismos de autodefensa de Oracle y acceder a los datos.
Fallos de Diskgroup ASM
Contexto: El diskgroup ASM (Automatic Storage Management) está dañado. No puede ver los archivos .dbf directamente — solo dispositivos de disco ASM.
Rol de DBRECOVER: Use la funcionalidad de extracción ASM de DBRECOVER (o herramienta complementaria PRMSCAN) para navegar el diskgroup ASM como un explorador de archivos y extraer los datafiles. Este es típicamente el primer paso antes de la recuperación de datos real.
8. Tablas de Referencia Rápida
Comparación de Características por Versión
| Dimensión | Legacy 2009 | Moderna 23rc1 / 2512 | Guía de Selección |
|---|---|---|---|
| Soporte de Versión Oracle | 8i, 9i, 10g, 11g | 12c, 18c, 19c, 21c, 23c | 11g o anterior → 2009; 12c+ → Moderna |
| Estabilidad | Extremadamente alta | Cuelgues ocasionales en corrupción severa | Si versión moderna se cuelga, pruebe 2009 |
| Multitenant (PDB/CDB) | No soportado | Totalmente soportado | Recuperación PDB requiere versión moderna |
| Motor de Escaneo | Lineal básico | Escaneo de extensiones mejorado | Moderna escanea más profundo pero es más sensible |
Códigos de Error Comunes e Intervención de DBRECOVER
| Error Oracle | Significado | Solución Estándar | Cuándo Usar DBRECOVER |
|---|---|---|---|
ORA-01194 |
Datafile necesita más recuperación (brecha SCN) | Aplicar logs archivados/online | Cuando archive logs están físicamente perdidos |
ORA-00600 |
Error interno (fallo de aserción del kernel) | SR de Soporte Oracle, parches | Cuando diccionario de datos está corrupto y la instancia no puede iniciar |
ORA-01122 |
Verificación de datafile falló (corrupción de encabezado) | Restaurar desde respaldo, RECOVER | Cuando no existe respaldo válido o RMAN no puede reconocer el archivo |
ORA-01578 |
Bloque de datos físicamente corrupto (bloque malo) | RMAN BLOCKRECOVER, DBMS_REPAIR | Cuando bloques malos están en tablespace SYSTEM impidiendo inicio de instancia |
Conclusión
DBRECOVER llena el vacío dejado por el sistema de soporte estándar de Oracle cuando enfrenta corrupción física estructural. Usando tecnología de "lectura bypass", reduce problemas complejos de recuperación de base de datos a problemas de minería de datos a nivel de archivo.
Sin embargo, este enfoque también trae una alta barrera operacional — los usuarios necesitan entender no solo la lógica de negocio sino también conceptos subyacentes como estructura de bloques de datos y gestión de segmentos para reorganizar datos en Modo Sin Diccionario.
DBRECOVER es una "póliza de seguro" costosa pero necesaria para empresas. Pero la investigación detrás de este FAQ revela una verdad dura: la mejor recuperación es una que nunca necesita DBRECOVER.
Una estrategia de respaldo RMAN robusta, simulacros de recuperación regulares y mecanismos de recuperación ante desastres fuera del sitio son las formas fundamentales de evitar la pesadilla técnica de "adivinar qué OBJ(xxxxx) es qué tabla."
¿Necesita Asistencia Experta?
Para escenarios de recuperación complejos, especialmente cuando los métodos estándar han fallado y los datos críticos de negocio deben recuperarse, nuestros expertos están disponibles 24/7 para ayudar.
Contáctenos en [email protected]