IMP-00058: ORACLE error 12154 encountered

23 nov

Este es uno de los últimos errores que me han “saltado” tratando de hacer un import de oracle. Resulta que, después de muchas vueltas, me dí cuenta de que tenía dos versiones de oracle instaladas en la máquina donde estaba ejecutando el import. El export estaba hecho con Oracle 9 i y la máquina donde estaba ejecutando el import tenía 9i y 10g, de manera que al llamar al “imp” se estaba ejecutando el de la versión 10g y por lo que se vé, parece que no le gusta.

La solución es ejecutar el import llamando al imp.exe de la versión 9i, lo que hice yo fué ejecutar:

C:\oracle\ora92\bin\imp system/contraseña.. etc..

De esta forma me aseguraba estar ejecutando el imp.exe adecuado.

Indexar y buscar documentos con Lucene

23 nov

Lucene no es una aplicación en si misma, es un API open source con licencia Apache License 2.0, completamente desarrollado en Java por Doug Cutting, que sirve para indexar y buscar documentos.
En la siguiente url se encuentra disponible un zip con un proyecto demo y muchos recursos que sirven de ejemplo para indexar y buscar documentos: http://www.apache.org/dyn/closer.cgi/lucene/java/

Lucene es independiente de plataforma y puede montarse un proyecto fácilmente en un web server, la pequeña aplicación que estoy desarrollando yo para probarlo la he montado con Tomcat y Eclipse.
Lucene permite indexar ficheros html, txt, word, pdf, etc… para el caso de indexar ficheros .txt, se puede leer el fichero directamente pero para los html, documentos de office o pdf tenemos que utilizar un “parser” que extraiga el contenido en algo entendible para la clase documento de Lucene. Una vez que tenemos indexados todos los documentos teniendo en cuenta su tipo, podemos utilizar la búsqueda para listarlos en función del criterio que queramos.
Las pruebas que he realizado hasta el momento son muy interesantes porque después de indexar unos 11.000 documentos en unos 30 minutos, la página de búsqueda es capaz de presentarme miles de documentos en unos pocos segundos. Hay que tener en cuenta varios puntos:
1.- Utilizar Lucene es muy interesante para montar una aplicación en un web server accesible a los usuarios de una red (una oficina o un colegio,  por ejemplo) y proveerles de un punto de acceso rápido a documentos desde cualquier navegador.
2.- La aplicación que desarrollemos necesita la implementación o aplicación de algún tipo de algoritmo que intente presentar los documentos más acertados teniendo en cuenta los criterios que metemos en la búsqueda. Si no aplicamos ningún algoritmo, la aplicación mostrará todos los documentos que contengan el criterio de búsqueda sin tener en cuenta el peso o importancia de ese término en ese documento. (tales como cantidad de veces que se repite, si se incluye en el título, etc…)
3.- Puede que el resultado de la búsqueda no arroje documentos que existan en el sistema porque para encontrarlo debe haberse indexado antes, este proceso se puede plantear como una tarea programada que se ejecute todas las noches para actualizarse constantemente.
4.- La solución por software basada en java y partiendo de un API open source es una alternativa para las empresas, oficinas o colegios que no puedan o no quieran gastarse el dinero que cuesta un indexador de documentos hardware como el Google Search Appliance o el ThunderStone Appliance que para el caso de unos 500.000 documentos puede costar entre 25.000 y 30.000 euros por dos años.

Como unir ficheros avi con cat

23 nov

Si tienes Linux y te encuentras con los clásicos archivos terminados en avi.001, avi.002, etc… quiere decir que estos videos están separados por partes.
La manera mas sencilla de obtener un avi que sea el resultado de la unión de todas estas partes es abrir una terminal y situarte en el directorio donde estén los archivos trozeados. Después escribes la siguiente instrucción:

cat archivo.avi.* > resultado.avi

Si la persona que ha trozeado el avi ha tenido la mala leche de poner nombres diferentes a cada parte, no tienes mas que poner todos los ficheros seguidos de un espacio tal que así:

cat archivo1.avi.001 archivo2.avi.002 > resultado.avi

Y ya está… tan sencillo como esto… no te vuelvas loc@ buscando programitas para unir ficheros.

Instalar Sistemas Operativos en VirtualBox con la imagen .iso

23 nov

En este pequeño tutorial voy a explicar brevemente los pasos a seguir para instalar un Sistema Operativo a través de su imagen ISO en una máquina virtual utilizando VirtualBox.
1.- Primero tenemos que descargar e instalarnos la aplicación que nos va a simular una máquina virtual donde instalaremos el S.O que queremos probar o con el que queremos trabajar (yo suelo montar las Releases de Ubuntu para probarlas). http://www.virtualbox.org/wiki/Downloads
2.- Una vez instalado el VirtualBox, descargamos la imagen .iso del S.O que queremos instalar en la Máquina Virtual (en adelante MV). Yo por ejemplo, quiero probar una release de Ubuntu Karmic Koala, pero ahora mismo, la última versión estable es la 9.04: http://www.ubuntu.com/getubuntu/download
3.- Cuando tengamos el .iso, entonces iniciamos el virtual box y creamos una máquina nueva, tenemos que seleccionar el tipo de sistema operativo que vamos a instalar y le damos un nombre a la MV:
4.- Ahora creamos un disco duro virtual nuevo y seleccionamos “expansión dinámica”:

5.- Con esto tenemos creada la nueva MV y su disco duro virtual, ahora solo nos queda decirle que vamos a iniciarla con el dvd que contenga el iso que nos hemos bajado para que comienze la instalación del S.O. en el arranque, para ello seleccionamos la máquina (que pondrá que está apagada) y le damos a configuración.
En la configuración seleccionamos CD/DVD-ROM, elejimos Monta unidad de CD/DVD y abajo le decimos que sea la imagen .iso que tenemos:

6.- Ya está todo, ahora solo tenemos que iniciar la máquina y ella sola arrancará la instalación de Ubuntu.

Error biblioteca areasQueries en la instalación de oracle

23 nov

Si alguna vez, instalando oracle, os salta el siguiente error: “se ha producido un error durante la carga de la biblioteca: areasQueries”. Es posible que el nombre de la carpeta donde hayais copiado los archivos de instalación contenga algún caracter extraño como un acento, un apóstrofe o algo así. Hace poco me daba a mi este error por haber copiado los archivos de instalación en una carpeta que contenía un acento, cuando renombré la carpeta me funcionó sin ningún problema

Convertir video de wmv a avi

22 nov

Para convertir video de wmv a avi u otros formatos (permite la conversión entre varios formatos) existe una utilidad en las distribuciones de Ubuntu Karmic Koala (supongo que existe también en las anteriores), que se llama ffmpeg.
Con ffmpeg puedes convertir desde una terminal fácilmente de un formato de video a otro. En este ejemplo, estoy convirtiendo un archivo en formato wmv a avi diciéndole que guarde la misma calidad que el original (parámetro -sameq).
Si se omite este parámetro elige un bitrate muy bajo y pierde mucha calidad, sería algo así:

$ ffmpeg -i mifichero.wmv -sameq mifichero.avi

 

ORA-27102: out of memory al arrancar BD Oracle en Solaris

22 nov

Intentando arrancar le base de datos oracle desde la linea de comandos te puede salir el siguiente error:

SQL> startup
ORA-27102: out of memory
SVR4 Error: 22: Invalid argument

Es conveniente consultar el alert.log para confirmar el problema de memoria. Vamos a intentar solucionarlo:

Con el usuario de oracle logueado, vamos a averiguar el projid:

$ id -p
uid=101(oracle) gid=101(dba) projid=100(user.oracle)

Consultamos los datos de memoria:

$ prctl -n project.max-shm-memory -i project 100
project: 100: user.oracle
NAME    PRIVILEGE       VALUE    FLAG   ACTION                       RECIPIENT
project.max-shm-memory
privileged      2.00GB      -   deny                                 -
system          16.0EB    max   deny

Para asignar mayor “provileged” memory, lo podemos hacer de forma dinámica en Solaris 5.10:

1.- Tenemos que loguearnos con el usuario root.

2.- #prctl -n project.max-shm-memory -r -v 10G -i project 100

 

Seguir

Get every new post delivered to your Inbox.