sábado, 4 de junio de 2011

Cómo cargar datos a traves de SQL Loader

SQL * Loader carga datos de archivos externos en tablas de una base de datos Oracle. Tiene un motor de base de datos de gran alcance de análisis que pone poca limitación en el formato de los datos en el Data File.


Los archivos utilizados por SQL * Loader son los siguientes:
Input Data Files: SQL * Loader lee los datos de uno o más archivos especificados en el archivo de control. Estos datos en el archivo de datos son organizados como registros. Un archivo de datos en particular puede estar en formato de registro fijo,  formato de registro variable, o formato de registro corriente. El valor por defecto es el formato de registro corriente.
Control File: El archivo de control es un archivo de texto escrito en un lenguaje que SQL * Loader entiende. Este archivo indica a SQL * Loader dónde encontrar los datos, cómo analizar e interpretar los datos, dónde insertar los datos, etc.
Log File: Cuando SQL * Loader comienza la ejecución, crea un archivo de registro. Si no lo puede crear, la ejecución termina. Este archivo contiene un resumen detallado de la carga, incluyendo una descripción de los errores que se produjeron durante la carga.
Bad File: Este archivo contiene registros que fueron rechazados, ya sea por SQL * Loader, cuando el formato de entrada no es válido, o por la base de datos Oracle. Cuando un registro del data file es aceptado por SQL * Loader, es enviado a la base de datos Oracle para la inserción en una tabla como una fila. Si la fila es válida, entonces la fila se inserta en la tabla. En caso contrario, el registro es rechazado y SQL * Loader lo coloca en el bad file.
Discard File: Este archivo se crea sólo cuando es necesario. El archivo de descarte contiene registros que se filtran de la carga porque no se han encontrado los criterios de selección de registros especificados en el archivo de control.

Métodos de Carga
SQL * Loader proporciona dos métodos para cargar datos:
  • Vía convencional
  • Vía directa


Carga Vía Convencional
La carga vía convencional genera una matriz de filas que son insertadas y se utiliza la instrucción SQL INSERT para cargar los datos. Durante las cargas vía convencional, los registros de entrada son analizados basados en el campo de especificaciones, y una matriz de registros es construida e insertada en la tabla especificada en el archivo de control. Las cargas vía convencional pueden ser usadas para cargar datos tanto en tablas  agrupadas y no agrupadas.
Carga Vía Directa
Una carga vía directa construye bloques de datos en memoria y guarda esos bloques directamente en los extents asignados para la tabla que se está cargando. Los archivos de entradas de registro redo en línea no son generados a menos que la base de datos este en modo de ARCHIVELOG. Las cargas vía directa usan el campo de las especificaciones para construir todos bloques Oracle de datos, y escribir los bloques directamente en los archivos de datos Oracle por encima de la marca superior de agua.
La marca superior de agua es el punto más alto en que los datos se han escrito dentro de la tabla hasta el momento. La carga vía directa pasa por alto el búfer caché de la base de datos y accede al SGA sólo para medir la gestión y ajustar la marca superior de agua.

Cuadro de comparaciones entre Carga vía Convencional y Directa


Cargando datos con SQL * Loader
Utilice la carga de datos desde el Archivo Asistente para cargar datos desde otra base de datos a una base de datos Oracle. Para visualizar el asistente, seleccione cargar datos desde un archivo sobre la sección de Utilidades de la base de datos en la sub-pestaña de mantenimiento de la página de inicio.



Pasos para cargar los datos:
  1. Ingresar al Enterprise Manager como SYS u otro usuario con privilegios de administrador.
  2. Hacer click en Cargar datos desde un archivo en Utilidades de la página de mantenimiento.
  3. En la página del archivo control: Introducir la ruta completa del archivo de control de la máquina servidor de base de datos sobre la carga de datos. Luego ingresar el nombre de usuario y contraseña para la máquina host. >>Siguiente.
  4. En la página del archivo de datos ingresar la ruta. Seleccionar "Proporcionar la ruta completa y el nombre de la máquina servidor de base de datos" sobre la carga de datos. >> Siguiente.
  5. Página Método de carga: Para el método de carga el valor por defecto es vía convencional sobre la carga de datos. Se puede elegir Vía Directa si es necesario.
  6. Página de Opciones: Seleccionar "Generar archivo de registro donde la exploración de la información se va a guardar" debajo de Archivos Opcionales de la carga de datos. Aceptar el nombre de archivo por defecto y la ruta o ingrese uno diferente. >>Siguiente.
  7. Página de Programación: Escribir un nombre de trabajo y descripción sobre la carga de datos. >>Siguiente.
  8. Carga de datos: Revisar la página que permite revisar los nombres de archivo y los métodos de carga. Si se desea cambiar algo, hacer click en Volver. De lo contrario, hacer click en Enviar trabajo para iniciar la carga.
  9. La página de estado aparece con el envío del mensaje de éxito de la carga de datos. Click en Ver Trabajo para ver el resumen del trabajo. La página de resumen debe indicar que el trabajo ha tenido éxito.
  10. Se pueden confirmar los datos cargados navegando por la página de las tablas,  seleccionando la tabla, y eligiendo como la acción vista de datos.
Fuente: Student Guide Oracle Database 10g: Administration Workshop I. Chapter 9. Marzo 2004.

viernes, 3 de junio de 2011

Exportar e Importar datos a traves de Data Pump

Data Pump permite una transferencia de datos entre base de datos de modo rápido.
Para exportar una base de datos o un esquema que no sea el nuestro o exportar tablespaces debemos tener el rol EXP_FULL_DATABASE, y para importar el rol IMP_FULL_DATABASE.

Exportar datos con Data Pump
La utilidad de Oracle Data Pump permite la transferencia a alta velocidad de datos de una base de datos a otra. Por ejemplo, es posible que se desee exportar una tabla y sus índices asociados desde una base de datos e importarlas en otra base de datos.
En la página de mantenimiento, haga clic en Exportar a archivos para usar Data Pump para escribir datos en un archivo.



1.  En la primera página, se selecciona lo que se desea exportar y, va ingresar las credenciales de inicio de sesión en los campos Nombre de Usuario y Contraseña:
Base de datos: Si desea la exportación de la base de datos, también se conoce como una exportación completa.
Esquemas: Se exportan todos los objetos de uno o más esquemas.
Tablas: En el modo de tabla, sólo se específica un conjunto de tablas, las particiones, y sus dependientes objetos se descargan.
2.  Si se selecciona esquemas o tablas para el tipo de exportación, la siguiente página le permitirá seleccionar el conjunto de esquemas o tablas que desea exportar.
3.  El siguiente paso es la página de opciones. Aquí se podrá ver y hacer una estimación de la exportación, seleccionar bloques para una estimación rápida, y las estadísticas para una estimación más precisa. Al hacer click en opciones avanzadas se mostrará lo siguiente:
Content: Podrá exportar sólo metadatos o datos, o ambos. También podrá configurar una condición para filtrar por nombre del objeto.
Flashback: Obtener una exportación consistente a una hora determinada.
Query: Obtener sólo datos que coincidan con la cláusula WHERE que se proporciona.
4.  La siguiente página es la de los archivos, para especificar el nombre del directorio y el nombre del archivo, y el tamaño máximo de los archivos de exportación.
5.  La siguiente página es la programación, para programar el trabajo de exportación.
6.  La última página es la revisión, donde se podrá visualizar el código PL/SQL para la exportación de comandos generados por las selecciones que ha hecho en las páginas anteriores del asistente.
Después que se envíe el trabajo, al hacer click en Ver trabajo se podrá monitorear el progreso del trabajo.


Importar datos con Data Pump
El Data Pump Import se usa para cargar los datos extraídos por el Data Pump Export. En la página de Mantenimiento hacer click en Importar desde archivos para usar el Data Pump Import para leer los archivos escritos por el Data Pump Export dentro de una base de datos.



1.   Archivos: Al Usar esta se designa la ruta y el nombre de los archivos de importación sobre el servidor de base de datos. Luego, se debe seleccionar una de las tres opciones posibles de importación, ya sea para importar todos los archivos, esquemas específicos, o tablas específicas. A continuación se ingresarán las credenciales en los campos de usuario y contraseña del Host.
2.   Selección de objetos: Esta página sólo se muestra cuando se elige la opción en la página de archivos a seleccionar objetos específicos para la importación.
3.   Re-Mapeando: Esta página sólo se muestra si se ha seleccionado previamente los objetos de la Página Selección de objetos. Aquí se designa la posibilidad de importar datos de cada usuario en el mismo esquema de usuario, o la importación de un esquema de un usuario diferente según lo señalado en los campos del  usuario origen y usuario destino.
4.   Opciones: Para configurar las opciones para la reutilización de archivos de datos, errores en la creación de objetos, e índices inutilizables.
5.   Programación: Para programar el procedimiento de importación.
6.   Revisión: Para visualizar el código PL/SQL para el comando de importación generado por las selecciones que se ha hecho en las páginas anteriores del asistente.
Después que se envíe el trabajo, al hacer click en Ver trabajo se podrá monitorear el progreso del trabajo.

Fuente: Student Guide Oracle Database 10g: Administration Workshop I. Chapter 9. Marzo 2004.