viernes, 15 de mayo de 2009

Instalar F-Spot en Fedora 10 desde el source

Instalé recientemente f-spot desde el repositorio de Fedora 10 x86_64 pero la aplicación era algo inestable y fallaba con frecuencia, así que decidí instalarla desde el source para ver si su funcionamiento era mejor.

Pueden descargar el software desde esta liga.

Para instalar f-spot 0.5.0.3 desde el fuente tienes que instalar algunas dependencias para la compilación.

Estos son los paquetes necesarios:

yum install mono-devel gtk-sharp2-devel gnome-sharp-devel libexif-devel libgphoto2-devel lcms gtk-sharp2-gapi ndesk-dbus-devel ndesk-dbus-glib-devel

Una vez instalados estos paquetes con sus dependencias, descomprimimos el paquete y comenzamos con la compilación.

[root@ecolinux Descargas]# tar -jxvf f-spot-0.5.0.3.tar.bz2

[root@ecolinux Descargas]# cd f-spot-0.5.0.3
[root@ecolinux f-spot-0.5.0.3]# ./configure
[root@ecolinux f-spot-0.5.0.3]# make
[root@ecolinux f-spot-0.5.0.3]# make install

Una vez hecho esto probamos que nuestra instalación haya sido exitosa:

[root@ecolinux f-spot-0.5.0.3]# f-spot

Es probable que te marque algunos errores durante la compilación o durante el make y es debido a que no encuentre algunas librerías, para lo cual es necesario exportar la siguiente variable:

[root@ecolinux f-spot-0.5.0.3]# export MONO_PATH=/usr/lib64/mono
[root@ecolinux f-spot-0.5.0.3]# ./configure
[root@ecolinux f-spot-0.5.0.3]# make
[root@ecolinux f-spot-0.5.0.3]# make install
[root@ecolinux f-spot-0.5.0.3]# f-spot

Y con esto quedaría solucionado el problema de las librerías y f-spot debería funcionar perfectamente.

Error when starting OpenOffice on Fedora 10

Decidí instalar openoffice por separado en lugar de hacerlo desde el dvd de instalación de Fedora 10, así que entré al sitio y descargue el tar.gz. Esto porque necesitaba instalar el jdk de Sun y no el que viene por defecto con Fedora.

Hoy me decidí a instalar openoffice y los rpm's funcionaron bien pero al momento de iniciarlo desde el menú de gnome, simplemente no arrancaba.

Al leer el archivo README de la carpeta de instalación venía una variable que es necesario dejar en blanco.

Se agrega "unset SESSION_MANAGER" al archivo soffice que se encuentra dentro de la carpeta de instalación de openoffice, en mi caso "/opt/openoffice.org3/program/soffice".

Esto no solucionó el problema y había que hacer algo adicional.

Lo corrí desde la terminal y me dió el siguiente error:

[root@ecolinux readmes]# openoffice.org3
/opt/openoffice.org3/program/soffice.bin: error while loading shared libraries: libuno_sal.so.3: cannot open shared object file: No such file or directory


El problema está en que openoffice no encuentra algunas librerías y hay que hacer una liga a la ubicación donde se encuentran dichos archivos:

[root@ecolinux readmes]# cd /opt/openoffice.org/basis3.0
[root@ecolinux basis3.0]# mv ure-link ure-link.backup
[root@ecolinux basis3.0]# ln -s /usr/lib64/openoffice.org/ure ure-link

En mi caso es /usr/lib64 porque tengo instalado Fedora 10 de 64 bits y con eso se solucionó el problema.

viernes, 8 de mayo de 2009

Descargar Oracle con wget

En varias ocasiones he necesitado descargar archivos del sitio de Oracle, ya sea para bajar nuevas versiones de la base de datos, application server, sqldeveloper, etc.

El caso es que siempre los había descargado desde el explorador Web y nunca había tenido problema. Hasta que esta semana el archivo de 1.8GB de la versión 11g de la base de datos no alcanzaba a bajar completo y tronaba la conexión del explorador teniendo que reiniciar la descarga en varias ocasiones.

Por eso decidí utilizar wget para la descarga de archivos desde el sitio de Oracle pero me encontré con el siguiente problema:

# wget -c http://download-llnw.oracle.com:80/otn/linux/oracle11g/linux.x64_11gR1_database_1013.zip

--2009-05-08 10:20:43-- http://download-llnw.oracle.com/otn/linux/oracle11g/linux.x64_11gR1_database_1013.zip
Resolviendo download-llnw.oracle.com... 208.111.133.53, 208.111.133.54
Connecting to download-llnw.oracle.com|208.111.133.53|:80... conectado.
Petición HTTP enviada, esperando respuesta... 302 Found
Localización: https://profile.oracle.com/jsp/realms/otnLogin.jsp?remoteIp=148.xxx.xxx.xxx&globalId=&redirectUrl=http%3a%2f%2fdownload-llnw.oracle.com%3a80%2fotn%2flinux%2foracle11g%2flinux.x64_11gR1_database_1013.zip [siguiendo]
Redirecciona a otra URL de autentificación...
--2009-05-08 10:20:44-- https://profile.oracle.com/jsp/realms/otnLogin.jsp?remoteIp=148.xxx.xxx.xxx&globalId=&redirectUrl=http%3a%2f%2fdownload-llnw.oracle.com%3a80%2fotn%2flinux%2foracle11g%2flinux.x64_11gR1_database_1013.zip
Resolviendo profile.oracle.com... 141.146.8.116
Connecting to profile.oracle.com|141.146.8.116|:443... conectado.
Petición HTTP enviada, esperando respuesta... 200 OK
Longitud: 4082 (4,0K) [text/html]
Saving to: `otnLogin.jsp?remoteIp=148.xxx.xxx.xxx&globalId=&redirectUrl=http:%2F%2Fdownload-llnw.oracle.com:80%2Fotn%2Flinux%2Foracle11g%2Flinux.x64_11gR1_database_1013.zip'

wget está guardando la página de autentificación...
100%[======================================>] 4.082 10,6K/s in 0,4s

2009-05-08 10:20:45 (10,6 KB/s) - `otnLogin.jsp?remoteIp=148.235.72.10&globalId=&redirectUrl=http:%2F%2Fdownload-llnw.oracle.com:80%2Fotn%2Flinux%2Foracle11g%2Flinux.x64_11gR1_database_1013.zip' saved [4082/4082]

En esa página de autentificación tenemos que poner nuestro usuario y contraseña de Oracle para poder descargar archivos del sitio.

Intentamos entonces con las opciones --http-user y --http-password de wget:

# wget -c http://download-llnw.oracle.com:80/otn/linux/oracle11g/linux.x64_11gR1_database_1013.zip --http-user=xxx --http-password=xxx

Obtenemos el mismo resultado que en el intento anterior:

--2009-05-08 10:29:05-- http://download-llnw.oracle.com/otn/linux/oracle11g/linux.x64_11gR1_database_1013.zip
Resolviendo download-llnw.oracle.com... 208.111.133.52, 208.111.133.54
Connecting to download-llnw.oracle.com|208.111.133.52|:80... conectado.
Petición HTTP enviada, esperando respuesta... 302 Found
Localización: https://profile.oracle.com/jsp/realms/otnLogin.jsp?remoteIp=148.xxx.xxx.xxx&globalId=&redirectUrl=http%3a%2f%2fdownload-llnw.oracle.com%3a80%2fotn%2flinux%2foracle11g%2flinux.x64_11gR1_database_1013.zip [siguiendo]
--2009-05-08 10:29:05-- https://profile.oracle.com/jsp/realms/otnLogin.jsp?remoteIp=148.xxx.xxx.xxx&globalId=&redirectUrl=http%3a%2f%2fdownload-llnw.oracle.com%3a80%2fotn%2flinux%2foracle11g%2flinux.x64_11gR1_database_1013.zip
Resolviendo profile.oracle.com... 141.146.8.116
Connecting to profile.oracle.com|141.146.8.116|:443... conectado.
Petición HTTP enviada, esperando respuesta... 200 OK
Longitud: 4082 (4,0K) [text/html]
Saving to: `otnLogin.jsp?remoteIp=148.235.72.10&globalId=&redirectUrl=http:%2F%2Fdownload-llnw.oracle.com:80%2Fotn%2Flinux%2Foracle11g%2Flinux.x64_11gR1_database_1013.zip'

50% [=============================> ] 4.082 11,5K/s in 0,3s

2009-05-08 10:29:06 (11,5 KB/s) - `otnLogin.jsp?remoteIp=148.235.72.10&globalId=&redirectUrl=http:%2F%2Fdownload-llnw.oracle.com:80%2Fotn%2Flinux%2Foracle11g%2Flinux.x64_11gR1_database_1013.zip' saved [4082/4082]

Se vuelve a guardar la forma de autentificación ya que el enlace de descarga directo no funciona para wget sin antes haber hecho la autentificación.

Tampoco me funcionó autentificarme en el explorador Web y después intentar con wget pero leí que a algunos les dió resultado.

La forma que yo encontré para hacerlo fue la siguiente:

Primero obtienes la URL de descarga de uno los intentos fallidos:

Localización:https://profile.oracle.com/jsp/realms/otnLogin.jsp?remoteIp=148.xxx.xxx.xxx&globalId=&redirectUrl=http%3a%2f%2fdownload-llnw.oracle.com%3a80%2fotn%2flinux%2foracle11g%2flinux.x64_11gR1_database_1013.zip

La parte en color azul es la URL de la cual wget va a intentar la descarga y ésta nos va a llevar a la forma de autentificación. Aquí es donde entra la parte en color rojo y la opción --post-data de wget y se usa como sigue:

$ wget -c --no-check-certificate --post-data="remoteIp=148.xxx.xxx.xxx&globalId=&redirectUrl=http://download-llnw.oracle.com:80/otn/linux/oracle11g/linux.x64_11gR1_database_1013.zip&username=xxx&password=xxx" https://profile.oracle.com/jsp/reg/loginHandler.jsp?

*Se sustituyen las x con la IP y con el usuario y contraseña del sitio de Oracle. A la parte que dice "redirectURL" tenemos que sustituirle los caracteres %2f por /.

La opción:
-c : se usa para poder continuar con la descarga en otro momento haciendo resumen.
--no-check-certificate : para que no verifique el certificado de seguridad del sitio.
--post-data : para enviar ciertos valores a la URL tales como usuario y contraseña, URL de descarga del archivo.

Una vez hecho esto el archivo comienza a descargarse sin problema:

$ wget -c --no-check-certificate --post-data="remoteIp=148.xxx.xxx.xxx&globalId=&redirectUrl=http://download-llnw.oracle.com:80/otn/linux/oracle11g/linux.x64_11gR1_database_1013.zip&username=xxx&password=xxx" https://profile.oracle.com/jsp/reg/loginHandler.jsp?

--2009-05-08 10:47:03-- https://profile.oracle.com/jsp/reg/loginHandler.jsp?
Resolviendo profile.oracle.com... 141.146.8.116
Connecting to profile.oracle.com|141.146.8.116|:443... conectado.
Petición HTTP enviada, esperando respuesta... 302 Moved Temporarily
Localización: http://download-llnw.oracle.com:80/otn/linux/oracle11g/linux.x64_11gR1_database_1013.zip [siguiendo]
--2009-05-08 10:47:05-- http://download-llnw.oracle.com/otn/linux/oracle11g/linux.x64_11gR1_database_1013.zip
Connecting to 192.168.254.4:3128... conectado.
Petición Proxy enviada, esperando respuesta... 206 Partial Content
Longitud: 1913850002 (1.8G), 1192940242 (1.1G) remaining [application/zip]
Saving to: `linux.x64_11gR1_database_1013.zip'

44% [++++++++++++++++++++++===> ] 845,732,744 228K/s eta 77m 27s

Espero les sea de utilidad.

miércoles, 6 de mayo de 2009

How to purge Oracle Recycle Bin

Recientemente se presentó un problema en una de nuestras bases de datos (ver. 10.2.0.3). El tablespace afectado mostraba un espacio utilizado negativo y esto afectaba a una de nuestras aplicaciones al no poder recuperar archivos adjuntos de la misma base para mostrarlos en pantalla.

Al perecer el problema se deriva de un bug de esta versión de la base de datos pero que se soluciona haciendo el upgrade a la versión 10.2.0.4. 

La causa principal es la saturación de la papelera de reciclaje de Oracle y la solución aplicada fue únicamente vaciar la misma de la siguiente manera:

Primero se revisa que la papelera tenga contenido: 

SQL> select count(1) from dba_recyclebin; 

  COUNT(1)

----------

       603

 

Se elimina el contenido de la papelera:

SQL> purge dba_recyclebin;

 Papelera de reciclaje de DBA depurada.


Con esto el problema quedó resuelto.