Sei sulla pagina 1di 17

PROYECTO FINAL PL SQL

MARLEY VARGAS CAÑAS

IBO CERRA

UNIVERSIDAD EAN

FACULTAD DE INGENIERIA

INGENIERIA DE SISTEMAS

BOGOTA DC,

2018
Contenido
INTRODUCCION ................................................................................................................................... 3
1. CONFIGURACION......................................................................................................................... 4
1.1 HERRAMIENTAS UTILIZADAS................................................................................................... 4
1.2 INSTALACION Y CONFIGURACION DE HERRAMIENTAS ................................................................. 4
1.2.1 Instalación y configuración de la instancia de la base de datos ...................................... 4
1.2.2 Conexión a la base de datos .............................................................................................. 5
............................................................................................................................................................. 6
1.2.3 Parametrización de usuarios en el servidor .................................................................... 6
1.2.4 Instalación de paquetes usuario SYS ................................................................................ 7
1.2.5 Instalación que paquetes FTP usuario GENERALES .......................................................... 8
1.2.6 Configuración servidor FTP en la nube ............................................................................. 8
2. EJECUCION DE COMANDOS FTP ...................................................................................................... 9
2.1 PRUEBA DE CONEXION ............................................................................................................. 9
2.2 OBTENER LISTA DE DIRECCIONES ........................................................................................... 10
2.3 RENOMBRAR UN ARCHIVO DEL SERVIDOR FTP .................................................................... 13
2.4 CREACION DE DIRECTORIOS EN EL SERVIDOR FTP ................................................................ 15
BIBLIOGRAFIA .................................................................................................................................... 17
INTRODUCCION

En el siguiente trabajo se pretende dar a conocer los pasos realizados y las lecciones aprendidas
durante la ejecución y desarrollo del proyecto de PL SQL de Oracle, donde por medio de la base de
datos se realiza una conexión a un servidor FTP y con ella, varias transacciones que se realizan
normalmente con un cliente FTP. Se demostrara como crear directorios, descargar y enviar archivos
al servidor FTP por medio de scripts ejecutados desde la base de datos.

El objetivo del proyecto es demostrar los conocimientos adquiridos en la materia APLICATIVO DE


BASESDE DATOS PL/SQL.
1. CONFIGURACION

1.1 HERRAMIENTAS UTILIZADAS

Para la ejecución del proyecto se utilizaron las siguientes herramientas tecnológicas.

1.1.1 Oracle Database 11gR2 Express Edition for Windows x64 local
Oracle Database Express Edition (XE) es una edición compatible con la comunidad de la
familia Oracle Database. Visite el Foro de soporte de la comunidad de Oracle Database XE
para obtener ayuda, comentarios y solicitudes de mejoras.

1.1.2 Oracle SQL Developer local


Oracle SQL Developer es un entorno de desarrollo integrado y gratuito que simplifica el
desarrollo y la administración de Oracle Database en implementaciones tradicionales y en
la nube. SQL Developer ofrece un desarrollo completo de sus aplicaciones PL / SQL, una hoja
de trabajo para ejecutar consultas y scripts, una consola DBA para administrar la base de
datos, una interfaz de informes, una solución completa de modelado de datos y una
plataforma de migración para mover su Bases de datos de terceros a Oracle.

1.1.3 Servidor FTP alojado en la nube (Hosting miarroba https://hosting.miarroba.com).


FTP (File Transfer Protocol) es un protocolo de transferencia de archivos entre sistemas
conectados a una red TCP basado en la arquitectura cliente-servidor, de manera que desde
un equipo cliente nos podemos conectar a un servidor para descargar archivos desde él
o para enviarle nuestros propios archivos.

1.2 INSTALACION Y CONFIGURACION DE HERRAMIENTAS

1.2.1 Instalación y configuración de la instancia de la base de datos


En la instalación de Oracle Express se instala y configura la instancia de la base de datos local con
la que se va a trabajar, es importante recordar la contraseña que se asigna en la configuración, ya
que será utilizada para realizar todas las conexiones.

1.2.2 Conexión a la base de datos

Oracle SQL Developer es el editor de base de datos con el cual nos conectaremos a la base de datos
ya instanciada con Oracle Express.
1.2.3 Parametrización de usuarios en el servidor

1.2.3.1 Usuario SYS

Después de instalado SQL Developer, se debe realizar una nueva conexión a la base de datos
con el usuario SYS (usuario administrador del sistema). Se debe indicar un nombre, el usuario de la
conexión, la contraseña asignada en la instalación de la instancia de la base de datos creada con
Oracle Express y se debe asignar el rol SYSDBA.
1.2.3.2 Creación de Usuario Genérico

Desde el usuario SYS se debe crear un usuario general en el servidor, para que desde este
se consuma el servicio del servidor FTP alojado en la nube y ejecute los scripts de conexión y de
transferencia de archivos. A este usuario se le deben asignar permisos de conexión y de consumir

Al crear el usuario, este queda bloqueado por defecto, por lo cual se debe desbloquear ejecutando
el siguiente script.

1.2.4 Instalación de paquetes usuario SYS

Desde el usuario SYS se debe ejecutar los siguientes scripts para la instalación de paquetes de red.
Con estos paquetes se otorga privilegios de red al usuario generales .

Execute Dbms_Network_Acl_Admin.Create_Acl ( Acl =>


'utl_http.xml',Description => 'HTTP Access', Principal => 'GENERALES'
,Is_Grant => True, Privilege => 'connect' );
execute dbms_network_acl_admin.add_privilege ( acl =>
'utl_http.xml',principal => 'GENERALES', is_grant => TRUE, privilege =>
'resolve');
Execute Dbms_Network_Acl_Admin.Assign_Acl (Acl => 'utl_http.xml',Host =>
'*');

SELECT host, lower_port, upper_port, acl FROM dba_network_acls;


1.2.5 Instalación que paquetes FTP usuario GENERALES

Para poder realizar transferencias por medio del protocolo FTP y utilizar los comandos básicos
de FTP en PL SQL, debemos realizar la instalación de paquetes FTP con el usuario que va a realizar
las transacciones, en este caso el usuario Generales. Debemos ejecutar los scripts indicados en las
siguientes URLs:

1. https://oracle-base.com/dba/miscellaneous/ftp.pks
2. https://oracle-base.com/dba/miscellaneous/ftp.pkb

Después de instalados los paquetes, el ambiente de la base de datos ya estará lista para comenzar
a utilizar los comandos de FTP y realizar nuestras transacciones.

1.2.6 Configuración servidor FTP en la nube

Para mi proyecto, utilice un servidor de FTP alojado en el hosting de miarroba. Para


configurar el servidor solo hace falta crear una cuenta en el la página web https://miarroba.com/.
Después de tener una cuenta registrada se crea un espacio en el hosting, al crear al espacio
tendremos disponible un servidor FTP al que nos podremos conectar fácilmente desde cualquier
cliente, la página nos facilita todos los datos que acceso al servidor que necesitamos.
2. EJECUCION DE COMANDOS FTP

2.1 PRUEBA DE CONEXION

Para comprobar que la configuración quedo realizada correctamente, comenzaremos a realizar una
prueba de conexión con el servidor FTP.
RESULTADO:

2.2 OBTENER LISTA DE DIRECCIONES


SET SERVEROUTPUT ON
-- Get a directory listing (file names only) from a remote FTP server.
DECLARE
l_conn UTL_TCP.connection;
l_list ftp.t_string_table;
BEGIN
l_conn := ftp.login('ftp.webcindario.com', '21', 'marleyvargas',
'admin1234');
ftp.nlst(p_conn => l_conn,
p_dir => '/web/bracket',
p_list => l_list);
ftp.logout(l_conn);

IF l_list.COUNT > 0 THEN


FOR i IN l_list.first .. l_list.last LOOP
DBMS_OUTPUT.put_line(i || ': ' || l_list(i));
END LOOP;
END IF;
END;

RESULTADO:
2.3 RENOMBRAR UN ARCHIVO DEL SERVIDOR FTP

-- Rename a file on a remote FTP server.


DECLARE
l_conn UTL_TCP.connection;
BEGIN
l_conn := ftp.login('ftp.company.com', '21', 'ftpuser', 'ftppassword');
ftp.rename(p_conn => l_conn,
p_from => '/u01/app/oracle/dba/shutdown',
p_to => '/u01/app/oracle/dba/shutdown.old');
ftp.logout(l_conn);
END;

RESULTADO:
PANTALLAZO FICHEROS SERVIDOR FTP
2.4 CREACION DE DIRECTORIOS EN EL SERVIDOR FTP

-- Create a directory on a remote FTP server.


DECLARE
l_conn UTL_TCP.connection;
BEGIN
l_conn := ftp.login('ftp.webcindario.com', '21', 'marleyvargas',
'admin1234');
ftp.mkdir(p_conn => l_conn,
p_dir => '/web/directorioNuevo');
ftp.logout(l_conn);
END;
/

RESULTADO:
BIBLIOGRAFIA

https://www.oracle.com/technetwork/database/database-technologies/express-
edition/downloads/xe-prior-releases-5172097.html

https://www.oracle.com/technetwork/es/developer-tools/sql-developer/overview/index.html

https://oracle-base.com/articles/misc/ftp-from-plsql