Guia 5

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

Base de datos II.

Guía 4 1

Facultad: Ingeniería
Escuela: Computación
Asignatura: Base de datos II

Tema: Oracle SQL LOADER

Objetivo
 Realizar migraciones de datos desde archivos planos a oracle

Materiales
 Oracle 12 c
 Guía Número 5

Introducción
SQL Loader es un utilitario que permite la inserción de datos desde un archivo plano a una o
más bases de datos. Durante una sola de sus ejecuciones es posible llenar múltiples tablas
con datos de múltiples archivos, manejar registros de ancho variable o fijo, manipular los
datos entrantes para tratar con valores nulos, delimitadores y espacios en blanco, obviar
registros o encabezados y reaccionar frente a fallas del proceso de cargado.

En la ilustración 1 podemos observar el funcionamiento de SQL Loader. Mediante el


procesamiento de un archivo de control (Control File) que contiene esencialmente la
localización de los archivos fuente, el formato de éstos y las tablas a ser llenadas, el
ejecutable de la herramienta lee los datos de entrada, llena la base de datos y genera 3 tipos
de archivos distintos: Discard File contiene los registros que no fueron cargados (por ejemplo
debido a que en el archivo de control se haya configurado no registrar a las mujeres mayores
de 25 años), Bad File contiene los registros que generaron errores (podría ser debido a fallas
en el formato) y Log File, el archivo de log de la operación
Procedimiento
1. Crear la siguiente estructura de directorios.

2. En la carpeta migración, crear los siguientes archivos.

3. Crear el TableSpace llamado "udbsql_loader" en la carpeta datafile, creada en el punto uno.

4. Crear el usuario "udbloader" asignándolo al TABLESPACE "udbsql_loader" y darle todos los


privilegios.

5. Loguearse con el nuevo usuario y crear la tabla "MATERIA" , como se muestra en la siguiente
imagen.

Vista SqlDeveloper Query


CREATE TABLE MATERIAS
(
IDMATERIA NUMBER(*, 0) ,
NOMBREMATERIA VARCHAR2(150 BYTE)
)
6. Editar el archivo "Data.csv" con la siguiente información.

7. Editar el archivo "LOAD_DATA.TXT", el cual contiene la configuración para la carga del archivo.

Donde:

PARAMETRO Descripción
INFILE Nombre del Archivo a cargar
APPEND INTO TABLE Nombre de la tabla
FIELDS TERMINATED BY Separador de Campo
TRAILING NULLCOLS Tratar cualquier columna relativamente
posicionada que no esté presente en el registro
como columna nula.

8. Hasta este punto si listamos la información de la ruta de los archivos de configuración se deben
ver como se muestra en la siguiente imagen.

9. Ejecutar el comando de sqllder pasando de parámetro el archivo de configuración y solicitará el


password del usuario udbloader, al terminar la ejecución se puede ver un resumen de que los 7
registros cargadas a la tabla Materias.
10. Al revisar la información de la tabla, se pueden ver los datos cargados correctamente.

11. El archivo "LOAD_DATA.LOG" contiene la información de la carga realizada anteriormente.

12. En muchas ocasiones es necesario utilizar un tns configurado en el archivo "tnsnames.ora", este
dará una configuración de conexión que será pasada de parámetro al comando sqlldr, este archivo se
encuentra ubicado en la ruta de instalación de oracle, por ejemplo "
C:\app\CursoBasedeDatos\product\12.1.0\dbhome_1\NETWORK\ADMIN ".

Verificar su correcta configuración en la máquina que esté utilizando.


13. Eliminar la data de la tabla Materias.

14. Ejecutar el comando sqlldr pasando los siguientes parámetros

PARAMETRO Descripción
Udbloader Nombre de Usuario
\"udbloader\" Password, se le coloca la "\" por cualquier
caracter extraño que se utilice en la
contraseña.
@ORCL TNS configurado en el archivo tnsnames.ora
Control=LOAD_DATA.TXT Archivo de configuración.
bad=DATA.bad Archivo en el que se cargaran aquellos registros
que no se puedan cargar.
log=LOAD_DATA.log Archivo con información sobre la carga
realizada, sea esta exitosa o genere errores.
15. Hasta este punto se ha realizado una carga sencilla de una tabla sin secuencias y solo con tipos de
datos simples, para este ejemplo crearemos una tabla llamada Profesores, con la siguiente
estructura.

16. Crear una nueva secuencia llamada "seq_profesor".

17. Crear todos los archivos relacionados a PROFESOR.

18. Editar el archivo "PROFESORES.txt", de la siguiente forma.


Nota: si en algún momento queremos filtrar los registros por campo podemos utilizas la siguiente
sintaxis
OPTIONS (SKIP=1)
LOAD DATA
APPEND INTO TABLE nombre_tabla
WHEN (columna='valor')
(

19. Editar el archivo cargar llamado "PROFESORES.csv" con la siguiente información.

20. Ejecutar el siguiente comando y ver el resultado de la carga.

21. Datos cargados exitosamente en la tabla "PROFESOR"

Nota: La secuencia para este ejemplo empieza con 9, por pruebas realizadas anteriormente.
Análisis de resultados

1- Basandose en la siguiente tabla persona, cree una tabla en Oracle, y los respectivos
archivos para poder realizar el procedimiento con SQL LOADER, en este ejercicio se
deberá insertar en la tabla solo los registros cuya nacionalidad sea colombiano ,
también dependiente del tipo de documento deberá colocarse lo siguiente en la
tabla:
Tipo documento
1=oficial
2=particular
3=militar
4=usos varios

2- Siempre utilizando la tabla persona, cree un proceso en donde solo se inserten los
datos de personal colombiano con numero de documento 2

Investigación complementaria

Investigue como realizar una carga de multiples tablas y utilizando los siguientes dos
archivos txt, cree las tablas, datos y empleados en Oracle y realice un procedimiento que
permita insertar dos tablas

También podría gustarte