Hola compañeros, soy nuevo en el SO Linux y sobre todo en administracion de BD, tengo que hacer un script con las siguientes caracteristicas y debajo pondre lo que tengo hecho , a ver si alguno me podria ayudar a mejorar el codigo.
Un saludo y gracias de antemano.
Crear un shell script que permita ejecutar los siguientes pasos:
- Solicitar por prompt usuario/password para entrar a bbdd
- Crear una tabla vacia
- solicitar usuarios para ejecutar un sqlldr
- Solicitar la ubicación de los ficheros de datos y control.
- Ejecutar la utilidad para cargar desde fichero plano de datos la tabla creada
anteriormente
- ejecutar una consulta sobre esa tabla (se tiene que volver a
conectar a bbdd )
- Generar un fichero de texto con los datos obtenidos desde la consulta previa
el codigo q tengo por ahora es este:
Código BASH:
Ver original#!/bin/bash
# -*- ENCODING:UTF-8 -*-
ORACLE_SID="XE"
echo
echo "Introduce usuario:"
read usuario
echo
echo "Introduce el password:"
read pass
sqlplus $usuario/$pass@XE
echo
echo "introduce un nombre para la tabla:"
read tabla
create table $tabla (
dni VARCHAR(10) NOT NULL,
nombre VARCHAR(50),
fnacim DATE,
PRIMARY KEY (dni));
exit;
echo
echo "Introduce usuario"
read usuario2
echo
echo "Introduce el password"
read pass2
echo
sqlldr userid=$usuario2/$pass2@XE;
echo
echo "ruta de los ficheros de control:"
echo
select * from v$controlfile;
echo
echo "ruta de los ficheros de datos:"
echo
select * from v$datafile;
echo
echo "introduce el nombre del archivo a cargar:"
read carga
echo
LOAD DATA LOCAL INFILE 'carga.txt' INTO TABLE $tabla
LINES TERMINATED BY '\r\n';
exit;
echo "Introduce usuario"
read usuario3
echo
echo "Introduce el password"
read pass3
sqlplus $usuario3/$pass3@XE
echo
select * into outfile "cambios.txt"
from $tabla;