Sesión de fotos en Azkorri

13 oct

Amazon Kindle 2 Black Friday

25 dic

Era el 26 de Noviembre de 2010 (mi cumple) y estaba a las 17:50 sentado delante de mi ordenador, con la punta del índice preparada para clickar en el “Add to chart” de la oferta que hacía Amazon a las 18:00, por el lector de Ebook Kindle 2 con 3g.
Teniendo en cuenta la de gente que tenía que estar igual que yo en ese momento, no creí que pudiera tocarme pero dieron las 18:00 y patapum!!!! Aparece el Add to chart y veo que puedo seguir adelante con el pedido!!! guauuu… 89$ por el Kindle 2!!! (unos 70 euros) …. total… que quería contar que la experiencia con Amazon ha sido muy buena (no solo porque haya conseguido el Kindle por 70 euros) sino porque lo pedí un Viernes a USA y el martes por la mañana lo tenía en casa (eso si.. he pagado unos 30 euros por el shupping y las taxes y todo eso.. asi que se me ha quedado en 100 euros todo.. pero aun así creo que ha valido la pena)… os dejo una foto.

Dominios totalmente gratuitos.

25 dic

Hoy he registrado de forma completamente gratuita dos dominios que no son de primer nivel y que todavía no he visto que google haya indexado pero que por otra parte, son completamente gratuitos, me explico:

He encontrado, por casualidad, un sitio que se llamaba http://www.smartdots.com, en él, puedes buscar un nombre de dominio y te devuelve una lista de sitios libres con el nombre que has elegido con una larga serie de extensiones que son totalmente gratuitas de registrar como .net.tc, .de.nu, .info.ms, etc…

Lo malo es que estas extensiones son difíciles de recordar y como decía antes, no veo que google lo indexe muy bien. De todas formas he registrado seo.de.nu y foto.de.nu (me hacía ilusión tener estos nombres aunque sean con extensiones rocambolescas…)

La parte buena es que hay un montón de dominios genéricos muy cortos (mínimo 3 letras).

Por ahora el registrador no permite alojamiento propio ni cambios de nombre de DNS porque estas opciones las están desarrollando (solo permiten la redirección con o sin cloaking) pero no hay prisa porque una vez que registras tu dominio, es tuyo mientras te loguees en el panel de administración al menos una vez al año (loguearse es la manera de renovar el dominio digamos.)

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

23 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

Vbox Guest Additions, Unknown version of the X Window System installed. Not installing X Window System drivers.

23 nov

Este es un error que salta al intentar configurar la pantalla completa de un Ubuntu 9.04 corriendo en una máquina virtual con VirtualBox.
Para poder configurar la pantalla completa de la máquina virtual (VirtualBox) hay que instalar el “Guest Additions”. Para ello, arrancamos la MV con el Ubuntu y vamos a la barra de herramientas de la máquina virtual, seleccionamos Dispositivos -> Instalar “Guest Additions”…

Parece que no hace nada pero en el escritorio de Ubuntu, se habrá montado un disco con el guest additions. Accedemos a él con un terminal y buscamos el fichero “VBoxLinuxAdditions-x86.run”

Lo ejecutamos como root y es posible que nos muestre el siguiente error:

Warning: unknown version of the X Window System installed. Not installing
X Window System drivers.

Es posible que esto ocurra porque los drivers de video de vbox no soporten todavía la versión de Xorg.

Para arreglarlo vamos a modificar un ficherito:

1.- Abrimos un terminal y nos vamos a /media/cdrom/
2.- Descomprimimos el instalador con la siguiente instrucción:

sudo ./VBoxLinuxAdditions-x86/amd46.run –target /vbox

3.- Esto habrá descomprimido un montón de ficheros en el directorio /vbox, tenemos que localizar el “install.sh” y editarlo.

4.- sudo gedit install.sh

5.- En la línea 415 cambia:

1.5.99.* | 1.6 )

por

1.5.99.* | 1.6.0 )

6.- Guarda el fichero y sal.

Este cambio se necesita porque la versión devuelta por X es la 1.6.0 y no la 1.6

Ahora puedes ejecutar el instalador con el siguiente comando:

7.- sudo ./install.sh

8.- Cuando se complete la instalación reinicia el sistema y suerte…, yo lo arreglé así y me funcionó perfectamente.

Información original en inglés:

http://www.ubuntugeek.com/ubuntu-904jaunty-and-virtualbox-video-driver-for-xguest-additions.html

Errores arrancando instancias: ORA-01034, Ora-27101 y ORA-01092

23 nov

Hace unos días me encontré con un error intentando conectarme a una instancia de oracle:

ORA-01034: Oracle not available

Ora-27101: Shared memory realm does not exist

Inmediatamente fuí a comprobar el estado de la instancia y la tenía cerrada por lo que intenté arrancarla abriendo un sqplus y ejecutando startup.

SQL>startup;

Ahora me daba un error distinto, aunque todavía no me aclaraba lo que pasaba:

ORA-01092 Oracle instance terminated. Disconnection forced.

Intenté con un

SQL> startup force;

pero ni por esas…

Entonces consulté mi archivo de alert.log, en él venía cual estaba siendo el problema, mencionaba algo del tablespace “UNDO” haciendo referencia a que no existía…

Al parecer, cuando se cierra la instancia con un shutdown abort, o por un crash inesperado, el undo tablespace puede quedar “corrompido” o dañado por lo que para solucionar esta papeleta debemos crear un nuevo undo tablespace y librarnos del anterior, manos a la obra:

1.- Arrancar la BD en modo nomount:

SQL>startup nomount;

2.- Hacer que UNDO_TABLESPACE deje de apuntar al tablespace “corrupto”:

SQL>alter system set UNDO_TABLESPACE=”;

3.- Arrancamos la BD;

SQL>alter database mount;

SQL>alter database open;

4.- Creamos el nuevo tablespace undo:

SQL>create undo tablespace UNDOTBS2 datafile ‘c:\oracle\tu_Ruta\undotbs2.dbf’ size 8000M;

5.- Apuntamos UNDO_TABLESPACE al nuevo UNDO:

SQL>alter system set UNDO_TABLESPACE=’UNDOTBS2′;

6.- Cerramos y arrancamos de nuevo:

SQL>shutdown immediate;

SQL>startup;

7.-Listo.

OUI-10094:Problem in saving inventory. Installation cannot continue.

23 nov

Después de ejecutar varias veces el runInstaller de Oracle, intentando reinstalar desde cero y crear una instancia nueva, me encontré con este error sobre el inventario:

“OUI-10094:Problem in saving inventory. Installation cannot continue. /oracle_home/inventory/ContentsXML/oracleomeproperties.xml (No such file or directory)”

Para solucionar esto, localicemos el fichero “inventory.xml”, cuando lo encontremos, lo editamos y borramos las lineas

que empiezan por <HOME NAME=”OraDb10g_home1″… (puede que tengas varias, pues las borras todas)

Después vuelves a lanzar el runInstaller y listo…

Instalación modo gráfico de forma remota en Solaris SunOS 5.10

23 nov

Uno de las últimas batallas que he tenido ha sido correr en una Solaris con SunOs 5.10 de forma remota, el instalador de Oracle 10g. El archivo que tuve que ejecutar en concreto fué el runInstaller.
Lo primero que hice fué loguearme en la Solaris con putty.exe, modo telnet e intentar ejecutar:

$./runInstaller

Ingenuo de mi… no podía ejecutar una aplicación en modo gráfico así por las buenas, antes me quedaba un buen trabajo por delante, vamos a empezar:

1º.- Necesitas descargarte el Xming 6.9.0.31 que tiene licencia GNU (GENERAL PUBLIC LICENSE)
2º.- Después de la instalación, en Inicio –>Todos los Programas –> Xming, Aparecen dos ejecutables:
.-Xming y Xlaunch, primero debes dejar ejecutando en residente el Xming Server (pinchas Xming)
.-Después ejecutas el Xlaunch y aparecen varias opciones, tienes que elegir “One window” y “Display number = 1

.-En la siguiente pantalla seleccionamos la última opción: “Open

session via XDMCP”.

.-Y en la siguiente suministramos la ip de la máquina a la que

queremos conectarnos.
.- Damos siguiente, suiguiente, finalizar (todo que si vamos).

3º.- Nos tendría que salir la pantallita de logueo de la solaris remota, le damos usuario y contraseña de root (deberíamos tenerlo)

4º.- Una vez logueados, abrimos un terminal, recuerda que tienes que estar como root, teclea:

$env, y verás tus variables de entorno.
Para que el entorno gráfico funcione, tienes que meter en tus variables de entorno la variable
DISPLAY=IP DE LA MÁQUINA DESDE DONDE ACCEDES:NÚMERO DE DISPLAY;
o sea, la ip de tu máquina seguido de : y seguido del número que aparecerá si pasas el cursor encima del icono de

XMing server  (una X grande abajo a la derecha en un Windows xp), normalmente pondrá 1.0
La pinta será algo así: DISPLAY=xxx.xxx.xx.xx:1.0, puedes añadir la variable momentáneamente haciendo

$export DISPLAY=xxx.xxx.xx.xx:1.0;
Vuelve a ejecurtar $env para comprobar que ahora si está la variable DISPLAY.
Mi consejo es meter esta variable en el .profile del usuario root y el de todos aquellos que necesiten ejecutar una

instalación o aplicación
en modo gráfico (En mi caso lo añadí al .profile del usuario oracle porque era para instalar Oracle 10g).

5º.- Para comprobar el modo gráfico inmediatamente solo tenemos que hacer una última cosa, permitir a los pcs externos que utilicen nuestros recursos gráficos. Para ello, desde el solaris, logueados como root, ejecutamos:
$xhost +
6º.- Comprobación final, intentamos ejecutar el reloj:
$xclock
Si te aparece un relojito, bingo!… has activado el modo gráfico correctamente. Suerte.

ORA-01450: maximum key length (3215) exceeded

23 nov

Alguna vez me he encontrado con este error al intentar realizar los “rebuild” de los índices “online”. Hacerlos “online”, permitía a la gente seguir trabajando contra la base de datos mientras se ejecutaba el “rebuild”.

Lo que descubrí fué que utilizar esta claúsula requería mas espacio para el “db_block_size” del tablespace sobre el que se ejecutaba  la reconstrucción de los índices. Vamos a ver la explicación del espacio requerido:

En mi caso, tengo el db_block_size=8K, por temas de rendimiento, por lo tanto, tengo
8192b disponibles.

En el rebuild online, necesitamos, además de espacio para el “index key”, espacio para los siguientes parámetros: el PCTFREE, INITRANS, la cabecera del bloque, el ROW Directory, el Table directory, etc…)

Después de considerar toda esta información que ha de contenerse necesariamente en el bloque, se estima que el espacio que queda para albergar la “index key” es de poco mas de un tercio del espacio total del ”db_block_size” (en nuestro caso vemos que el mensaje de error fija este valor en 3215b)

Normalmente, el error salta precedido de una referencia al índice que ha cascado, esta referencia nos conduce a la tabla correspondiente, lo que tenemos que hacer es irnos a esa tabla y comprobar la longitud de los campos de esa tabla que estamos indexando… ¿porque?, pues por la siguiente razón:

La teoría dice que para albergar el “index key” de una tabla debemos guardar la siguiente información: suma del tamaño de las columnas de la tabla que se indexan (en el caso que me cascó a mi, eran dos campos, 2040+2040) + tamaño de la clave (2 bytes) + ROWID (6 bytes) + tamaño del ROWID (1 byte).

Queda claro que estaba superando los 3215 disponibles y por ello, me cascó.

Las solución a esto no es sencilla, algunos recomiendan directamente quitar la cláusula “online”, porque cambiar el db_block_size requiere saber muy bien lo que se hace y puede afectar negativamente al rendimiento, aparte de poder desajustar otros parámetros. Yo recomiendo como siempre, ser muy cauto y precavido, no tocar nada (por algún motivo se decidieron esos parámetros) y pensar en hacer los rebuild normales. Al menos ya sabes la relación entre el db_block_size y los requerimientos de un rebuild online.

Posicionamiento en buscadores

23 nov

Hoy me gustaría recopilar en este post, una serie de puntos que debemos de tener en cuenta a la hora de posicionar correctamente nuestros post en los buscadores.

Lo que debemos entender, es la manera en la que los buscadores indexan nuestros contenidos, qué datos son los que leen primero, a cuales les dan importancia, qué cosas penalizan y que cosas favorecen nuestro posicionamiento en los buscadores de la red.

A continuación, os listo sólo unos cuantos puntos a tener en cuenta cuando publicamos un post (hay mas cosas a tener en cuenta pero eso se lo dejo a los entendidos).

1.- Lo primero es que la URL de tu post tenga “buena pinta” para el buscador, si os fijáis en los post de la gente que tiene en cuenta el posicionamiento, tienen una estructura parecida a esta:

http://patatin.com/este-es-mi-post/

Esto no es por casualidad, cuando una persona quiera buscar en google por ejemplo algo relacionado con “ruedas de coches”, irá primero a los post que contengan en su url esos términos y no si tu post tiene un número aleatorio o ininteligible tipo:

http://patatin.com/2009/04/07/2345456/

Así que lo primero es poner un buen “permalink”, que la url contenga las palabras relacionadas con el post.

por ejemplo:  http://patatin.com/ruedas-coches/

No suelen recomendar mas de 4 o 5 palabras, también recomiendan separar estas palabras con “-” (guiones normales) en vez de “_” (guiones bajos), porque al poner guiones normales, el buscador busca una palabra ó la otra.

2.- Otra buena práctica para conseguir buen posicionamiento para tus posts es precisamente esto que estoy haciendo yo ahora, incluir las palabras contenidas en mi url en el propio contenido del post. En mi caso estoy repitiendo la palabra posicionamiento.

3.- Por último, voy a hablar de 3 atributos muy importantes que ha de tener un post, se trata de:

.- Title, Description y Keywords

Yo como utilizo wordpress para mi blog, el “title” ya lo mete directamente tomando el título del post, pero para

añadir la descripción y los keywords fácilmente en cada post, he instalado un plugin que me facilita rellenar estos

atributos, se trata del All in One SEO Pack para wordpress, que, aunque he leido por ahi que no debe de tener ya

mantenimiento ni actualizaciones, me sirve para incluir estos atributos.

Bueno, hay muchos mas conceptos para mejorar el posicionamiento, merece la pena leer un poco sobre ello.

Seguir

Get every new post delivered to your Inbox.