miércoles, 17 de junio de 2009

COMO UTILIZAR SQL DEVELOPER EN UNA BD MySQL

A modo de ejemplo comentaré los sencillos pasos que se pueden seguir para poder utilizar SQL Developer con una BD MySQL:
• Descargar y descomprimir el driver JDBC para MySQL, que se puede obtener en la zona de descargas de conectores de la web de MySQL.
• En el directorio generado localizar el archivo .jar, que es el binario que contiene el conector. El nombre ha de ser algo así como 'mysql-connector-java-...-bin.jar'. Para que lo tengáis aún más fácil adjunto la versión 5.1.7, que es la que yo he utilizado ahora.
• En la opción de menú Herramientas, entrar en Preferencias.. y abrir las opciones de Base de datos y seleccionar Controladores JDBC de Terceros. Hacer click sobre el botón Agregar Entrada, y con el explorador de archivos seleccionar el archivo .jar que hemos descargado.
• Después de esto, en la ventana que se abre al agregar conexiones os debería aparecer una nueva pestaña MySQL que permite definir una conexión con MySQL.
A modo de ejemplo comentaré los sencillos pasos que se pueden seguir para poder utilizar SQL Developer con una BD MySQL:
• Descargar y descomprimir el driver JDBC para MySQL, que se puede obtener en la zona de descargas de conectores de la web de MySQL.
• En el directorio generado localizar el archivo .jar, que es el binario que contiene el conector. El nombre ha de ser algo así como 'mysql-connector-java-...-bin.jar'. Para que lo tengáis aún más fácil adjunto la versión 5.1.7, que es la que yo he utilizado ahora.
• En la opción de menú Herramientas, entrar en Preferencias.. y abrir las opciones de Base de datos y seleccionar Controladores JDBC de Terceros. Hacer click sobre el botón Agregar Entrada, y con el explorador de archivos seleccionar el archivo .jar que hemos descargado.
• Después de esto, en la ventana que se abre al agregar conexiones os debería aparecer una nueva pestaña MySQL que permite definir una conexión con MySQL.




Después de contratar un servidor en Kemsirve, llegará un mail con instrucciones para conectarse como root al servidor contratado. Para conectarse al servidor se puede utilizar putty si se está en windows o ssh directamente si se está en un servidor linux. Una vez conectado como root es bueno configurar unas pocas reglas de iptables ya que el servidor Ubunto no tendrá un muro de fuego por defecto, especialmente para no exponer la base de datos directamente al internet ( muy mala idea ).

· iptables -A INPUT -i eth0 -p tcp –dport 22 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp –dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp –dport 8080 -j ACCEPT
iptables -A INPUT -i eth0 -p icmp -j ACCEPT
iptables -A INPUT -i eth0 -m state –state ESTABLISHED,RELATED -j ACCEPT
iptables -I INPUT 1 -i lo -j ACCEPT
iptables -I INPUT 5 -m limit –limit 5/min -j LOG –log-prefix “iptables denied: ” –log-level 7
iptables -A INPUT -i eth0 -j DROP

· Las anteriores son reglas que permiten el acceso a los puertos 22,80 y 8080 (ssh, 80 y 8080) , a hacer ping y bloquean todo el resto del tráfico.

· Una vez que esto está listo se puede instalar Oracle XE, como root editamos el archivo /etc/apt/sources.list ( se puede usar el comando nano si no se sabe usar en vi ) y agregamos esto al final:

·         #oracle repos
·          deb http://oss.oracle.com/debian unstable main non-free

· Esto incluye el repositorio de Oracle en la lista de aquellos que se puede utilizar para instalar paquetes. Luego instalamos el Oracle XE con los siguientes comandos como root ( el servidor de Kemsirve usar root, si es un Ubuntu se puede usar el comando sudo).

· #>wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle -O- | sudo apt-key add -
#>apt-get update
#>apt-get install oracle-xe

· Después de unos minutos está instalado el software pero no tenemos la base todavia, para instalar y configurar la base como root ponermos el comando:

· #>/etc/init.d/oracle-xe configure

· Durante el procesos de configuración se nos solicitará la clave para los usuarios administradores de la base SYS y SYSTEM ( recordarla! ), luego nos preguntará si queremos iniciar el servicio de la base de datos y listener cuando el servidor se arranque. El proceso crear la una base de datos, configura el listener y establece los archivos de necesarios para iniciar los servicios ( ya se que no hay servicios en los debian!).

· Oracle XE ya viene con una versión de ApEx pero es una versión anterior para actualizarla debemos descargarla de la red de tecnología de oracle (otn.oracle.com) y tener una cuenta activa, el registro es gratuito pero es un paso indispensable para continuar. Una vez que se tenga la cuenta podemos proceder con la descarga desde el servidor utilizando lynx ( recurso obtenido de la página web del Pythian Group ), asi como oracle:

· #>su - oracle – para pasar a ser el usuario oracle
oracle> cd
— para regresar al home de oracle
~oracle> rm .lynx_cookies
— en caso de existir este archivo
~oracle> vi lynx.cfg
–se puede utilizar nano

· Añadimos las siguiente líneas archivo al editarlo

· SET_COOKIES:TRUE
PERSISTENT_COOKIES:TRUE
ACCEPT_ALL_COOKIES:TRUE
COOKIE_FILE:~/.lynx_cookies
INCLUDE:/etc/lynx.cfg

· Luego llamamos a lynx ( navegador web en consola (que locura!)).

· ~oracle> lynx -cfg=./lynx.cfg http://download.oracle.com/otn/java/appexpress/apex_3.1.2.zip

· Se nos presentará una pantalla para introducir el usuario y contraseña de la red tecnológica de oracle, luego aplastamos botón derecho o intro para descargar el archivo en el mismo directorio en el cual llamamos a la aplicación. Tomá unos pocos minutos es una descarga de alrededor de 90MB.

· El instalador de Oracle para debian y todos sus primos está bien, sin embargo no declara las variables de entorno para poder usar la base de datos XE, es por ello que creamos como oracle ( ojo seguimos como oracle ) el archivo .bash_profile.

· ~oracle> vi .bash profile– en caso de existir este archivo

· Agregamos estas líneas:

· #!/bin/bash
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export ORACLE_HOME
ORACLE_SID=XE
export ORACLE_SID
PATH=$PATH:$ORACLE_HOME/bin
export PATH

· Luego cargamos estas variables de entorno que nos permitirán usar el software de la base de datos.

· ~oracle> . .bash_profile
–para cargar el perfil en la sesión actual, no necesario si se realizan otras conexiones.
~oracle> env | grep ORACLE
–para valirdar que el ORACLE_HOME y ORACLE_SID esten presentes

~oracle> env | grep PATH

–para valirdar que el PATH apunte a ORACLE_HOME/bin

· Una vez establecidas estas variables se debe descomprimir el software que descargamos en algún lugar, yo lo pongo junto a los binarios de la base:

· ~oracle> cd –para regresar al home de oracle
>>oracle>mv apex_3.1.2.zip ./app/oracle/product/
>>oracle>cd app/oracle/product/
>>oracle>unzip apex_3.1.2.zip

· esto crea un directorio que se llama “apex”.

· >>oracle>cd apex
>>oracle>sqplus sys@xe as sysdba
– para ingresar a la base como sys
—> ingresamos el password
SQL> @apexins SYSAUX SYSAUX TEMP /i/
–este comando instala apex

· Después de unos 30 minutos el proceso debe terminar sin errores, inmediatamente sale al sistema para debemos configurar todavia la cuenta de administrador y el puerto del ApEx, para ello como oracle:

· ~oracle>sqplus sys@xe as sysdba
– para ingresar a la base como sys
SQL>@apxchpwd
– para cambiar la password del usuario “admin” de apex
SQL>@apex_epg_config /usr/lib/oracle/xe/app/oracle/product
– para configurar el plsql gateway (la web)
SQL>ALTER USER ANONYMOUS ACCOUNT UNLOCK;

–desbloquea el usuario anónimo (para la web)

SQL>@apxldimg.sql /usr/lib/oracle/xe/app/oracle/product
–para actualizar la imágenes de ApEx
SQL> SELECT DBMS_XDB.GETHTTPPORT FROM DUAL;

–para validar en que puerto está configurado el gateway ( tiene que ser 8080)
.
SQL>EXEC DBMS_XDB.SETHTTPPORT(8080);
–para establecer el puerto (en caso de que no sea correcto).

· Todos estos pasos se encuentran en la guía de instalación de Oracle ApEx aunque un poco más dispersos. Para ingresar a apex ponemos la dirección del servidor http://miservidor:8080/apex , para ingresar a la consola de administraciónhttp://miservidor:8080/apex/apex_admin.

· Ahora bien con esto termino la versión 00001 de esta guía, para poder realizar una aplicación se ingresa a la consola con administrador se crea un workspace de desarrrollo se hace logout y se ingresa con el usuario de desarrollo y el nombre del workspace ( hoy ya me cansé pongo pantallas de eso luego).

· Como podrá intuir cualquier paranoico ( yo soy uno ) esta configuración no es extremadamente segura ( depende de que tan seguro sea el oracle ), se puede utilizar un servidor web para redireccionar la información de ApEx eso también espero descubrir como.

Finalmente el producto no está completo sin poder generar PDFs para descargar documentos imprimibles, sé que eso se puede realizar redireccionando datos a un Tomcat y utilizando unas cuantos servlets, ya que la solución de Oracle para ello es de pago, eso también espero adjuntarlo a este tutorial.

No hay comentarios:

Publicar un comentario