Mostrando las entradas con la etiqueta BD. Mostrar todas las entradas
Mostrando las entradas con la etiqueta BD. Mostrar todas las entradas

sábado, 13 de agosto de 2011

Instalación fácil de SQL Developer en Debian y Ubuntu

En el Post anterior, escribí sobre Oracle11g.
Este por defecto viene con un editor/interprete de PL/SQL se se llama SQL*Plus. Es extremadamente simple, no tiene en verdad ningún atractivo, y puede ser un poco difícil escribir, ya que no maneja un "cursor" para desplazarse por el texto (eso significa, que si te percatas de un error al inicio de la instrucción, hay que borrar todo <_<).


Así que un amigo (gracias @andr3s22) me recomendó mejor instalar el SQL Developer, un IDE hecho por Oracle especializado justamente en PL/SQL, así que, para instalarlo se debe bajar la versión para la plataforma de preferencia:
http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html


Muy bueno, como está escrito en Java es multiplataforma, pero como es normal con estos de Oracle, solo tienen el .rpm para Linux <_<
Afortunadamente en los repositorios de Debian (y por consiguiente en los de Ubuntu) hay un paquete que permite muy fácilmente, crear un paquete .deb con base en el .zip (el que dice "Oracle SQL Developer for other platforms"). Aunque podríamos usar el .zip directamente sin muchos inconvenientes, es mucho mejor usar el método que describiré, ya que así es más limpio a la hora de actualizar y de una vez deja todos los iconos en su lugar (y nos ahorra mucho de configuración).


Cómo hacerlo...
1) Descargar el paquete sqldeveloper-package, que es el que hará todo el trabajo "sucio" por nosotros ;D
sudo aptitude install sqldeveloper-package

2) Debemos ir (desde consola) a la carpeta donde tengamos el .zip del SQL Developer, y digitamos lo siguiente (recuerden que si quieren ver todos los parámetros posibles, pueden escribir -h ):
make-sqldeveloper-package sqldeveloper-3.0.04.34-no-jre.zip
Esto dejará un .deb listo para instalar en la misma carpeta. Obviamente, debemos instalarlo :)


3) Al abrir por primera vez el programa (que se encuentra en el menú Programación), nos va a salir un terminal pidiéndonos que le demos el path de Java ("Type the full pathname of a J2SE installation"). En Debian y Ubuntu, si tenemos instalado los paquetes java-6-sun, el path sería /usr/lib/jvm/java-6-sun, OJO, porque este path cambiaría si estamos usando OpenJDK.

Una vez lo escribamos y le demos enter, el SQL Developer cargará sin problemas.


Saludos! ^^


Edit: Luego de varios días me di cuenta que SQL Developer no lograba conectarse a la base de datos, aun cuando SQL*Plus si podía. Me salía un error que decía "The network adapter could not establish the connection", lo que me llevó a investigar un poco, y resultó que era problema con los listeners para conectar con la base de datos... la solución fue, ir a la carpeta /u01/app/oracle/product/11.2.0/xe/network/admin/ y ejecutar lo siguinete:
sudo mv listener.ora listener.ora.sav
Ya luego podemos reiniciar la base de datos (pararla y volverla a iniciar). Se puede hacer manualmente los listeners (no como root, ie, sin sudo) así:
/u01/app/oracle/product/11.2.0/xe/bin/lsnrctl start

Oracle Database 11.2 Express Edition Beta en Ubuntu y Debian

Luego del fiasco que fue lo de mi exposición en el #BarCamp Campus Party (No la pude dar por problemas técnicos con el stream <_< ) y por otras situaciones varias anduve algo deprimido, con lo que la escritura en el blog pues, ya ven que se vio algo afectada ^^U
Pero bueno, hace un par de semana empecé la universidad otra vez, y como siempre, llega la hora de probar herramientas nuevas que, como "cosa rara", no funcionan del todo bien en Linux.

Este semestre estoy viendo Bases de datos 2, materia en la cual se enseña PL/SQL, el lenguaje de programación basado en SQL para bases de datos. El SQL puro permite administrar bases de datos de una forma mucho más simple a como se haría de una forma no estandarizada, pero, para procedimientos más complejos o extensos, se queda corto o es mucho más trabajoso realizarlos.

Por eso se inventó SQL/PSM, una adición al SQL normal que lo extiende convirtiéndolo en un lenguaje de programación completo. SQL/PSM es un estándar, y como tal, existe múltiples implementaciones, prácticamente una para cada base de datos. MySQL, PosgresSQL, Oracle, etc..., todas tienen su implementación, y en particular, la implementación de Oracle se llama PL/SQL, y para poderla usar pues hay que instalar su base de datos.

Ellos tienen una versión Express que es gratuita para uso personal, pero, lamentablemente la versión 10g Express (estable en este momento) para linux solo viene compilada para 32bits (i386), y en mi maquina que es de 64bits, y que hoy en día es lo más común, es un poco incomodo poderlo instalar.
Afortunadamente, me percaté que la versión 11g Express está en beta en este momento, y que venía para Linux a 64bits (Aleluya!), pero, solo en .rpm y no en .deb, lo cual no es agradable cuando se usa Debian como yo lo hago (tampoco para los n00bs que usan Ubuntu :P ).

Para poderlo usar, al menos mientras sale la versión final, tuve que convetirlo a un .deb usando alien. Para ahorrarles trabajo, les dejo el .deb ya convertido (pesa 273MB):
http://www.megaupload.com/?d=5Y2OSLOI
Update: Como todos saben, luego de lo sucedido con Megaupload, muchas cosas importantes se perdieron, entre ellas, el instalador... y como no tenía backup del mismo tuve que rehacer el instalador, así que aquí dejo de nuevo el .deb en un folder de Mediafire (pesa como 305MB):

http://www.mediafire.com/?i41ystin31fn4

Cómo instalarlo:
1) El .deb está convertido sin organizarlo bien, así que no instala las dependencias, por lo que primero deberíamos instalarlas:
sudo aptitude install libc6 libaio1

2) Luego se instala el .deb dándole doble clic, o si se prefiere desde consola con dpkg:
sudo dpkg -i oracle-xe_11.2.0-2_amd64\[rpm-alien\].deb

3) Debemos configurar las variables de entorno para que luego no nos falle al intentar conectarnos con algún programa como el SQL*Plus.
En el archivo ~/.profile debemos anexar estas dos lineas:
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe/
export ORACLE_SID=XE

4) Para configurar el Oracle11g, hay que ejecutar el siguiente comando, y poner en cada opción, lo que les sugieren dentro de los [corchetes], obviamente, cuando pida la contraseña del usuario administrador (siempre se conoce como SYSTEM), no saldrán los corchetes:
sudo /etc/init.d/oracle-xe configure

Una muestra en esta imagen:



5) Por ultimo, agregamos nuestro usuario al grupo dba, esto es, el grupo de usuarios que pueden usar bases de datos. Esto se puede hacer gráficamente desde la aplicación "Usuarios y grupos" del menú Sistema->Administración.
Update: en gnome 3, quizás haga falta instalar el paquete gnome-system-tools.


6) No olvidar que cuando necesitemos la base de datos, pues hay que inicializarla:


NOTAS ACLARATORIAS:

Espero que esto sea de utilidad mientras sale la versión final del Oracle Express Edition 11g.