jueves, 1 de marzo de 2012

MANEJO SQLLOADER

En esta oportunidad mostrare el manejo de una herramienta muy útil, al momento de trabajar con procesos automáticos SQLLOADER:

SQLLOADER es una herramienta que te permite acceder a una conexión a BD ORACLE y a la vez cargar datos desde un Fichero de forma masiva en base a un archivo de configuración.

Los pasos son los siguientes para el desarrollo del DUMMY:

I. PASO #1:
Crearemos una tabla donde se cargarán los datos en base a la ejecución del SQLLOADER. La tabla la llamaremos: TB_USUARIO.

CONTENIDO:

CREATE TABLE TB_USUARIO(
ID NUMBER NOT NULL,
NOMBRES VARCHAR2(30) NULL,
APELLIDOS VARCHAR2(30) NULL,
DISTRITO VARCHAR2(30) NULL,
CUMPLEANOS DATE NULL
);


ALTER TABLE TB_USUARIO
ADD CONSTRAINT PK_TB_USUARIO PRIMARY KEY( ID );

II. PASO #2:
Acceder al servidor desde consola vía un Telnet:

Telnet SERVER_IP

- User: XXX
- Password: XXX


III. PASO #3:
Crea un fichero (Shell) llamado: TB_USUARIO_EJECUCION.sh, que servirá para la ejecución del proceso de carga.

Verificar que las variables de entorno estén seteadas, sino como por ejemplo la del $TNS_ADMIN se solicitara desde consola el seteo del PASSWORD.

CONTENIDO:

#!/bin/ksh

# CONEXION A ORACLE FROM SHELL #

banner 'SQLLOAD'

echo $CLASSPATH
echo $ORACLE_HOME
echo $TNS_ADMIN

echo '--------- ANTES EJECUCION ---------'

## ORACLE_USER@ORACLE_INSTANCIA
## PARA QUE RECONOZCA LA UBICACIÓN DE LOS FICHEROS => [ ./ ]
sqlldr RGUERRA@xe control=./TB_USUARIO_CONFIGURACION.ctl data=./TB_USUARIO_DATA.txt

echo '-------- DESPUES EJECUCION --------'

IV. PASO #4:
Crear un fichero (.ctl) llamado: TB_USUARIO_CONFIGURACION.ctl, donde se configurará la tabla de la BD, sus campos, los tipos y los limitantes entre campo y campo.

CONTENIDO:

LOAD DATA
APPEND INTO TABLE TB_USUARIO
(
ID INTEGER EXTERNAL TERMINATED BY "~",
NOMBRES CHAR TERMINATED BY "~" ENCLOSED BY '"',
APELLIDOS CHAR TERMINATED BY "~" ENCLOSED BY '"',
DISTRITO CHAR TERMINATED BY "~" ENCLOSED BY '"',
CUMPLEANOS DATE "DD-MM-YYYY"
)

V. PASO #5:
Simular el fichero que será dejado por otro aplicativo para la carga masiva. En este caso al fichero le llamaremos: TB_USUARIO_DATA.txt

CONTENIDO:

001~"CESAR RICARDO"~"GUERRA ARNAIZ"~"LOS OLIVOS"~04/09/1980 01:43:11 AM
002~"JUAN JOSE"~"VERA PALOMINO"~"BARRANCO"~03/12/1972 01:43:11 AM
003~"CARLOS ALONZO"~"MONZON PEREZ"~"LIMA"~09/09/1983 01:43:11 AM
004~"DILVER MAURICIO"~"CUSCANO RAIMOND"~"LA MOLINA"~02/09/1981 01:43:11 AM
005~"CARLA GUIANELA"~"ROMAN URBINA"~"CALLA"~07/10/1975 01:43:11 AM

VI. PASO #6:
Antes y después de cada ejecución de la SHELL es necesario que se limpie la tabla para ver el efecto de cada:

LIMPIO TABLA:
TRUNCATE TABLE TB_USUARIO;

MUESTRO TABLA:
SELECT * FROM TB_USUARIO;

EJECUCION:
Desde el directorio de ubicación de los ficheros respectivos brindar los permisos de ejecución respectivos: chmod 777 *.sh, luego ejecutar la SHELL:

sh TB_USUARIO_EJECUCION.sh


Para un mayor detalle de los comando utilizados, descargar el TUTORIAL pulsando Aquí

No hay comentarios:

Publicar un comentario