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.

¿Qué es DBRECOVER?

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:

  1. 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 ORCL no orcl.
  2. 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.
  3. 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 SHITANRUANJIAN o SAMIL). Revise el archivo de log log_dbrecover.txt para 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:

  1. Descargue la Edición Comunitaria gratuita
  2. Use la función "Examinar Conteo de Registros" para escanear sus datafiles
  3. 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.

Importante: Valide Antes de Comprar

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_HOME esté 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:

  1. Agregue el directorio de DBRECOVER a la lista de exclusiones de su antivirus
  2. Re-extraiga el archivo ZIP
  3. 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:

  1. Copiar los datafiles (.dbf) de su servidor Unix a una PC con Windows
  2. Cargarlos en DBRECOVER en Windows
  3. 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:

  1. Cambiar Versiones: Si usa la versión 23rc1, descargue e intente la versión 2009 más antigua pero más estable.
  2. Reducir Alcance: No cargue todos los datafiles a la vez. Comience solo con los archivos del tablespace de negocio principal.
  3. 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 de T_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:

  1. Encontrar el Segmento de Tabla padre que posee este LOB
  2. Recuperar primero los datos de la tabla principal
  3. Los datos LOB típicamente se extraen junto con la tabla principal (si la estructura está intacta)
Proceso de Recuperación en Modo Sin Diccionario

En Modo Sin Diccionario, la identificación es trabajo forense manual:

  1. Exportar filas de muestra (primeras 10 filas) de un OBJ(xxxxx)
  2. Examinar el contenido de datos (fechas, montos, nombres, etc.)
  3. Deducir qué tabla de negocio representa
  4. 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:

  1. Revise log_dbrecover.txt para confirmar qué nombre fue detectado
  2. Contacte soporte — recibirá dos claves: una para su DB_NAME real y otra para el nombre interno
  3. 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:

  1. Descargue desde la página de DBRECOVER para Oracle
  2. Cargue sus datafiles
  3. Use "Examinar Conteo de Registros" o navegue las tablas
  4. 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

ORA-01194: file %s needs more recovery to be consistent

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.

La Mejor Recuperación No Necesita DBRECOVER

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]