viernes, octubre 26, 2012

Oracle, aumentar número de conexiones

Cómo se percibe este problema:
A veces ocurre algo extraño. Algunos usuarios trabajan sin problemas con la base de datos, pero hay usuarios que se quejan de errores en las aplicaciones. El mensaje "debidamente" o no traducido por la aplicación dirá algo así: "Oracle rechaza la conexión", "No se puede conectar a la base de datos", o lo que se la haya ocurrido al programador.

Consejo para desarrolladores: Estaría bien que cuando se captura un error provocado por otro sistema, además de la interpretación de lo que ocurre se ofrezca el error exacto que en caso de Oracle tiene que ser un error ORA-número.

Si nos conectamos sysdba el error en Oracle11.2 es el siguiente:

$sqlplus "/as sysdba"
Connected
SQL> ponemos cualquier sentencia válida
ERROR al line 1:
ORA-01012: not logged on

Lo que ocurre es que hemos llegado al número de procesos máximos definido en nuestra base de datos. La solución es ver los que tenemos y aumentarlos.

Nota: para poder conectarnos, cambiar el parámetro, y reiniciar la base de datos, tendremos que matar procesos desde el sistema operativo. Obtener los procesos Oracle de usuario haciendo:

ps -ef|grep LOCAL=NO

Para ver el valor del parámetro de procesos máximos:

SQL> show parameter processes;

Para aumentarlo (requiere reinicio):

SQL>alter system set processes=5000 scope=spfile;
SQL>shutdown immediate;
SQL>startup

Saludos.

miércoles, octubre 24, 2012

oracle, impdp error ORA-39070

A vece te ocurre un error en la import datapump de Oracle, que no identifica claramente lo que está ocurriendo.

Éste es el caso del error ORA-39070: Unable to open the log file.


ORA-39002: invalid operation
ORA-39070: Unable to open the log file.
ORA-29283: invalid file operation
ORA-06512: at "SYS.UTL_FILE", line 536
ORA-29283: invalid file operation

Antes de volverte loco examinando el paquete UTL_FILE, ten en cuenta lo siguiente:

ORACLE utiliza UTL_FILE para leer o escribir ficheros de texto. Cuando utilizas la import datapump (impdp) tienes que indicar el directorio con el parámetro DIRECTORY=

En DIRECTORY no se pone directamente el directorio, sino que antes de lanzar el impdp tiene que existir el objeto tipo directorio. Podemos crearlo con un fichero SQL como éste:

CREATE OR REPLACE DIRECTORY DATA_PUMP_DIR AS '/mis_exports/lunes/';
GRANT READ, WRITE ON DIRECTORY DATA_PUMP_DIR TO SYSTEM;
EXIT;

Pues si el directorio está mal indicado, o si no existe el objeto DATA_PUMP_DIR (en mi ejemplo), o no hemos dado el GRANT al usuario que lanza la import, ORACLE no será capaz de escribir el fichero de LOG y fallará el impdp dando el error indicado.

Saludos,

martes, octubre 23, 2012

Día triste para el ciclismo

Hoy es un día triste para el ciclismo, pero más triste hubiera sido que una trama que el propio sistema (equipos e instituciones, en especial la UCI) ocultó durante años por intereses económicos, hubiera quedado impune.

El que no sabe lo que ha ocurrido en el ciclismo en los tiempos de los corruptos médicos deportivos es libre de opinar lo que quiera.

Ahora bien, quien conoce el tema mejor que nadie, haría bien en callarse en lugar de defender lo indefendible. Si no tienen ninguna ética que lo hagan por lo menos por el ciclismo que tanto les ha dado. Algunos parece que quieren defenderse a sí mismos defendiendo a Armstrong.

España el paraiso de los tramposos.

Mikelats.

miércoles, octubre 17, 2012

CentOS, instalación de software a través de PROXY








En CentOS (y por lo tanto en Red Hat Enterprise Linux), tal y como viene la configuración de YUM por defecto, las instalaciones no funcionan si para la conexión a Internet es necesario utilizar un servidor proxy.

El mensaje de error dice algo así: "...Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6..." y también "Cannot find a valid baseurl for repo: base".

Solución:

Modificar el fichero de configuración de yum:

vi /etc/yum.conf

Añadiendo estas líneas:

proxy=http://nombre_servidor:puerto
proxy_username=usuario
proxy_password=password

Saludos.

jueves, octubre 11, 2012

Artículo sobre el editor VI

Imagen que he traído del artículo al que me refiero, aunque el autor a su vez lo copió de otro sitio:


Hola,

Aquí un interesante artículo sobre el editor VI, con algunos motivos para utilizarlo a pesar de lo complicado que pueda resultar. La verdad es que yo lo utilizo cada día más para hacer anotaciones, actas de reunión, editar ficheros de configuración, analizar logs, etc. etc.

Cuando hay que generar un resultado a partir de un fichero de texto suelo utilizar PERL, pero está claro con el ejemplo de MACRO que aparece en el artículo que se pueden hacer muchas cosas sin salir del propio VI.

Saludos,

martes, octubre 09, 2012

Actualización de CentOS



El otro día actualicé un portátil Ubuntu y ahora me toca hacer lo mismo con el CentOS.

¿Por qué Ubuntu y CentOS?

Con estos párrafos no quiero polemizar. Sólo son los principales motivos por los que instalé esas distribuciones. Seguro que hay buenas razones para utilizar otras.

Un motivo para utilizar Ubuntu como Linux de escritorio es que en mi opinión hay soporte de usuarios a raudales, y el impulso de una empresa que consigue que cualquier cosa que le acoples (modem Internet de cualquier proveedor, impresoras, internet wifi, etc.) funcione sin problemas. Además al estar basado en Debian aprenderás a manejar los paquetes .deb

El motivo para usar CentOS es que al ser un binario compatible Red Hat Enterprise Linux, es una excelente opción para S.O. de servidor (bases de datos, etc.). El problema de Red Hat es que las actualizaciones no siempre son fáciles de conseguir (debido a la propia política de la empresa). Y el problema de CentOS es que no está soportado por ORACLE. Esto no quiere decir que no funcione. Sólo supone que si tienes problemas con la base de datos, el soporte Oracle pasará del tema. Por último, esta distribución viene muy bien para manejar los paquetes .rpm

Bueno, y ahora a lo que iba: la actualización de Centos.

Vemos la versión actual:
cat /etc/centos-release
Centos release 6.2 (Final)

Lanzo la actualización:
su -c 'yum update'

Esta actualización nos avisa en seguida que: Total download size: 651M.

Después de la actualización:
cat /etc/centos-release
Centos release 6.3 (Final)

Si hemos instalado CentOS en un servidor y queremos programas la actualización diaria a las 4 a.m.:

su -c '/sbin/chkconfig --level 345 yum on; /sbin/service yum start'

Fuente aquí.

Saludos.

domingo, octubre 07, 2012

Linux, 32 bits o 64 bits


Ayer contaba la actualización de mi Ubuntu. Se me ha actualizado a 12.04.1 LTS. Ahora me ha entrado la curiosidad por el estado de la ciencia entre los 32 y 64 bits. La novedad a partir de esta versión 12.04 (Abril de 2012), es que Ubuntu recomienda claramente la versión de 64 bits si nuestro procesador lo soporta.

Podemos ver aquí que "Unless you have specific reasons to choose 32-bit, we recommend 64-bit to utilise the full capacity of your hardware."

Para ver si la versión del sistema operativo es de 32 o 64 bits:
uname -a
Si aparece x86, i386,... tenemos el de 32 bits.
Si aparece x86_64 es de 64 bits.
En mi caso es de 32 bits.

En cuanto al procesador que tengo, aquí veo que mi procesador Intel Core 2 Duo U7500 es de 64 bits.

Como segunda comprobación, seguimos el consejo de la página de Ubuntu: Podemos comprobar si tenemos un procesador de 64 bits de esta forma:

grep --color=always -iw lm /proc/cpuinfo

Si entre los flags que se muestran aparece en color "lm" pues fenomenal. Podemos instalar la versión de 64 bits.

Ahora bien, a pesar de lo que dice Ubuntu he decidido no instalar esa versión por tres motivos:

PRIMERO.-Mi portátil tiene sólo 2Gigas. No sufro la limitación de direccionamiento de 3 Gigas de los 32 bits.

SEGUNDO.-El cambio supondría que para las mismas aplicaciones que tenemos abiertas consumamos más memoria RAM. Teóricamente Ubuntu irá más rápido a 64 bits, pero no quiero sorpresas desagradables.

TERCERO: De momento no hay actualización directa (al menos es lo que creo). Se debe instalar el nuevo sistema operativo de 64 bits desde cero.

Si todavía tienes dudas mira aquí los pros y contras.

Saludos.

viernes, octubre 05, 2012

Actualización de Ubuntu


Hola,
Después de un año sin actualizar Ubuntu ha llegado la hora de hacerlo.
Esta distribución suele actualizarse cada 6 meses. Suele ser en abril y octubre.

Yo tenía la versión 11.10. Para comprobarlo hacemos:
cat /etc/issue

Para la actualización, desde la misma terminal ejecuto:
sudo do-release-upgrade -d

Notas importantes:
La actualización dura unas cuantas horas, y una vez lanzada no se debe interrumpir.
Si es en un portátil no olvides conectarlo a la corriente.

Saludos,

miércoles, octubre 03, 2012

Windows, búsqueda dentro de archivos




Hola,

Hace algún tiempo expliqué por qué en algunos Windows la búsqueda no encuentra ningún texto dentro de ficheros con una extensión concreta. Eso ocurría porque Windows busca en extensiones "conocidas". La solución era añadir el "filtro" que necesitaba.

Hoy me encuentro en un PC que tiene el filtro para documentos .doc pero las búsquedas de texto no encuentran nada dentro de esos documentos.

Lo arreglo así (estoy en un Windows Vista):

1.-Ir al Panel de Control.
2.-Entrar en "Opciones de indización".
3.-Ahora en "Opciones avanzadas".
4.-Entrar en la pestaña "Tipos de Archivo".

Nos encontraremos con esto:



A la pregunta ¿Cómo se debe indizar este archivo?
Respondemos con "Indizar las propiedades y el contenido del archivo". De esta forma se resuelve el problema.

Saludos.