Consideraciones: En términos de columnas virtuales y columna optimizada de 11g, la extracción de datos está bien, pero puede perder el campo correspondiente. Estas dos son nuevas características de 11g y más, hay menos usuarios.
Extraer directamente los datos de ASM, guardando el proceso de copia en el sistema de archivos SI
ORACLE DUL manual de herramientas:
PRINCIPIOS DEL DUL Y LISTA DE CARACTERÍSTICAS
C-PROGRAMA ESPECIAL
DUL es un programa C independiente que recupera directamente filas de tablas en archivos de datos. El software Oracle RDBMS no se utiliza en absoluto. DUL hace lecturas sucias, asume que cada transacción está comprometida. Tampoco comprueba / requiere que se haya realizado la recuperación de medios.
ÚLTIMO RECURSO
DUL pretende recuperar datos que no se pueden recuperar de otra manera. No es una alternativa para EXP, SQL * Plus, etc. Se pretende que sea un último recurso, no para el uso normal de la producción.
Antes de usar DUL debe tener en cuenta que rdbms tiene muchas características ocultas para forzar una base de datos incorrecta abierta. Los parámetros y eventos init.ora indocumentados se pueden utilizar para saltar el avance, para inhabilitar la reversión, inhabilitar determinadas acciones SMON, avanzar en la base de datos scn y mucho más.
BASE DE DATOS CORRUPT - BLOCKS OK
La base de datos puede estar dañada, pero un bloque de datos individual debe ser 100% correcto. Durante todas las comprobaciones de descarga se realizan para asegurarse de que los bloques no están dañados y pertenecen al segmento correcto. Si durante una exploración se detecta un bloque defectuoso, se imprime un mensaje de error en el archivo del cargador y en la salida estándar. La descarga continuará con la siguiente fila o bloque.
ROWS en CLUSTERS / TABLES / INDEXES
DUL puede y sólo descargará datos de índice / tabla / clúster. No volcará los desencadenadores, los procedimientos almacenados ni creará scripts sql para tablas o vistas. (Sin embargo, las tablas de diccionarios de datos que las describen pueden descargarse). Los datos se descargarán en un formato adecuado para SQL * Loader o IMP. También se genera un archivo de control coincidente para SQL * Loader.
DUL puede descargar índices e indexar las tablas organizadas. Index unload es útil para determinar cuántas filas debe tener una tabla o para identificar las filas que faltan.
DESCARGA DE LA PLATAFORMA CRUZADA
Se admite la descarga de varias plataformas. La base de datos se puede copiar desde un sistema operativo distinto al host DUL. (Bases de datos / sistemas realizados hasta ahora: Sequent / ptx, Vax Vms, VMS, MVS, HP9000 / 8xx, IBM AIX, SCO Unix, Alpha OSF / 1, Intel Windows NT).
Los parámetros de configuración dentro de "init.dul" tendrán que ser modificados para coincidir con los de la plataforma original y O / S en lugar de la plataforma desde la que se está haciendo la descarga.
ROBUSTO
DUL no volcar, girar o colgar no importa lo mal dañada que está la base de datos.
(PRÓXIMA) TODAS LAS CARACTERÍSTICAS DE ORACLE APOYADAS
Soporte completo para todas las construcciones de bases de datos: encadenamiento de filas, migración de filas, clústeres hash / index, longs, raws, rowids, fechas, números, múltiples grupos de listas libres, marca de alto nivel de segmento, NULLS, columnas NULL remotas y extensiones ilimitadas. Diseño de Oracle8, tablas particionadas.
Las adiciones posteriores son lobs, índices comprimidos, tablas comprimidas 9ir2. Varrays y ADTs (objetos definidos por el usuario) están parcialmente soportados en el modo sql * loader.
ASM es totalmente compatible, los archivos se pueden extraer de un grupo de discos asm. No se utiliza ninguna instancia ASM montada, se accede a los discos directamente. Se admiten los tamaños de unidades de asignación asm no predeterminados.
Los datos se pueden recuperar de los archivos de volcado de exportación con el conjunto de comandos unexp. Se ha realizado un trabajo inicial para que la unidad unpump apoye los archivos de la bomba de datos.
VERSIONES DE RDBMS APOYADAS
DUL debe funcionar con todas las versiones que comienzan oracle 6. DUL ha sido probado con versiones desde 6.0.26 hasta 10.2. Incluso el antiguo diseño de encabezado de bloque (pre 6.0.27.2) es compatible.
SOPORTE MULTI BYTE
DUL es esencialmente una aplicación de un solo byte. El analizador de comandos no entiende los caracteres de varios bytes, pero es posible descargar cualquier base de datos de varios bytes. Para todas las advertencias posibles hay un trabajo alrededor.
DUL opcionalmente puede convertir a UTF8. Esto es para NCLOBS que se almacenan en UTF16.
RESTRICCIONES
MLSLABELS
Seguridad de nivel múltiple Las carpetas de oráculo de confianza no son compatibles.
(LARGO) RAW
DUL puede descargar (largo) rastrillos. Hoy en día hay formato adecuado en SQL * Loader para conservar todos los raws largos. Por lo tanto, los raws y blobs largos pueden descargarse en ambos modos.
ORACLE8 OBJETO OPCIÓN Y LOBS
Las tablas anidadas aún no son compatibles, si son necesarias, hágamelo saber y se agregarán. Varrays y ADTs son compatibles, también los que se almacenan como un kernel lob. CLOBS, NCLOBS son compatibles tanto en modo SQL * Loader como en modo exp. BLOBS se manejan mejor en modo exp, el formato hexadecimal generado en modo SQL * Loader no se carga correctamente actualmente.
PORTÁTIL
DUL puede ser portado a cualquier sistema operativo con un compilador ANSI-C. DUL ha sido portado a muchas variantes de UNIX, VMS y WindowsNT. Actualmente todas las compilaciones se realizan utilizando gcc y un entorno de compilador cruzado en Linux
RDBMS INTERNALS
Un buen conocimiento de los componentes internos de Oracle RDBMS es un requisito previo para poder utilizar DUL con éxito. Por ejemplo, los cursos Data Server Internals (DSI) dan una buena base. Incluso hay un módulo dedicado a DUL
CONFIGURACIÓN Y USO DE DUL
ARCHIVOS DE CONFIGURACIÓN
Hay dos archivos de configuración para DUL. "Init.dul" contiene todos los parámetros de configuración. (Tamaño de las cachés, detalles del diseño del encabezado, tamaño del bloque oracle, formato del archivo de salida) En el archivo de control, "control.dul", se pueden especificar los nombres de los archivos de datos de la base de datos y los discos asm.
DICIONARIO DISPONIBLE
El diccionario de datos de Oracle está disponible si los archivos de datos que forman el SYSTEM TableSpace están disponibles y pueden utilizarse. El número que Oracle asignó a estos archivos y el nombre que les ha dado, que no tiene que ser el nombre original que Oracle sabía, debe incluirse en el archivo "control.dul". También es necesario incluir los números de archivo y los nombres de cualquier archivo de otros Espacios de tabla para los que desee descargar finalmente TABLES y sus datos. La falta de inclusión de estos archivos no afectará el diccionario de datos descarga paso pero afectará más tarde la descarga de la tabla.
USO DE DUL CUANDO USUARIO $, OBJ $, TAB $ y COL $ SE PUEDEN DESCARGAR
Pasos a seguir:
Configure DUL para la base de datos de destino. Esto significa crear una correcta init.dul y control.dul. Los números y nombres de los archivos de datos de SYSTEM TableSpace se deben incluir en el archivo control.dul junto con los archivos de datos para los Espacios de tabla de los que desee descargar TABLEs y sus datos. Para Oracle8 y versiones superiores se debe especificar el número de espacio de tablas y el número de archivo relativo para cada archivo de datos.
Utilice el comando "BOOTSTRAP; "Comando para prepararse para la descarga. El proceso bootstrap encontrará un segmento de compatibilidad, encontrar el bootstrap $ table unload El viejo "dul dictv7.ddl" ya no es necesario.
Descargue las tablas para las que se han incluido archivos de datos dentro del archivo "control.dul". Utilice uno de los siguientes comandos:
"TABLA DE DESCARGA [propietario>.] Tabla; (No olvide el punto y coma)
Esto descargará la definición de una tabla y los datos de la tabla.
"UNLOAD USER nombre de usuario;
Esto descarga todas las tablas y datos para el usuario especificado.
"DESCARGAR BASE DE DATOS;
Esto descarga todas las tablas de base de datos disponibles. (Excepto el usuario SYS).
unload user SCOTT;
NO HAY DICCIONARIO DE DATOS DISPONIBLE
Si los archivos de datos no están disponibles para el System TableSpace, la descarga continuará aunque no se conozcan los nombres USER, TABLE y COLUM. Identificar las tablas puede ser una tarea abrumadora. Pero puede ser (y ha sido) hecho. Necesita un conocimiento profundo de su aplicación y de las tablas de aplicaciones. Los tipos de columnas pueden ser adivinados por DUL, pero los nombres de tabla y columna se pierden. Cualquier espacio de tablas SYSTEM antiguo de la misma base de datos pero semanas de antigüedad puede ser de gran ayuda !. La mayor parte de la información que DUL utiliza no cambia. (Sólo el dataobj # es durante la reconstrucción de truncar o índice)
USO DE DUL SIN SISTEMA TABLESPACE
Pasos a seguir:
Configure DUL para la base de datos de destino. Esto significa crear una correcta init.dul y control.dul. (Consulte Parámetros específicos del puerto). En este caso, el archivo control.dul necesitará los números y nombres de los archivos de datos de los que se descargarán las TABLAS y los datos, pero no requiere la información de SYSTEM TableSpace.
BASE DE DATOS DE ESCANEO; : Escanear la base de datos, generar extensión y segmentar mapa
TABLAS DE ESCANEO; O EXTENSIONES DE ESCANEADO; : Recopilar estadísticas de filas
Identifique las tablas perdidas de la salida del paso 3.
DESCARGA las tablas identificadas.
BÚSQUEDA AUTOMATIZADA
Para facilitar la búsqueda de las tablas perdidas: la información estadística escaneada en seen_tab.dat y seen_col.dat se puede cargar en una base de datos nueva. Si vuelve a crear las tablas (Esperemos que los scripts de creación de tablas estén todavía disponibles), entonces la información de estructura de una tabla "perdida" puede coincidir con las tablas "vistas" con dos secuencias de comandos de SQL * Plus. (Fill.sql y getlost.sql).
CONSEJOS Y PITFALLS
Los nombres no son realmente relevantes para DUL, solo para la persona que debe cargar los datos. Pero los datos descargados no tienen ningún valor, si no sabes de qué tabla vino.
Los tipos de columna adivinados pueden estar equivocados. A pesar de que el algoritmo es conservador y decide UNKNOWN si no está seguro.
Las columnas NULL de seguimiento no se almacenan en la base de datos. Así que si las últimas columnas sólo contienen NULL que el escáner NO los encontrará. (Durante la descarga, las columnas NULL son tratadas correctamente).
Cuando se baja una tabla, la descripción se elimina del diccionario de datos solamente. Los bloques de datos no se sobrescriben a menos que se reutilicen para un segmento nuevo. Por lo tanto, el software del escáner puede ver una tabla que se ha eliminado.
Las tablas sin filas pasarán desapercibidas.
Los objetos más nuevos tienen un ID de objeto superior que los objetos antiguos. Si una tabla es recreada, o si hay una prueba y una versión de producción de la misma tabla, se puede usar el id de objeto para decidir.