feedburner

Lorem ipsum dolor sit amet,
consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore
et dolore magna aliqua.

REBORN

Hi:

I wanna get again the habit to blog things that I consider of interest. I'm giving a new face to this blog. By default I will try to post in english ( or something aka 'this weird language that this guy claims english' )

Oracle® Database 11g Sets World Record TPC-H 10 Terabyte Non-Clustered Benchmark Result

Etiquetas:

Oracle® Database 11g Sets World Record TPC-H 10 Terabyte Non-Clustered Benchmark Result on HP Integrity Superdome Server and HP StorageWorks Arrays
Showcases Superior Data Warehousing Performance with Record Price-Performance


Full Press Release

Cambiar el entorno de sesión de Oracle al vuelo

Etiquetas:

Cuando tenemos varias instalaciones de binarios de Oracle en un mismo host ( multihomed ) como por ejemplo ASM + varias bases de datos con varios juegos de binarios y tenemos que actuar en uno determinado ( asmcmd, listeners, arranque y parada de instancias ) debemos modificar variables de entorno ( ORACLE_SID, ORACLE_HOME, PATH...) para que apunten al entorno en el que queremos trabajar. Normalmente se dispone de una serie de scripts que modifican en parte dichas variables de entorno, cambiando ORACLE_BASE y ORACLE_HOME/SID pero para PATH normalmente lo que se hace es añadir al principio el valor del nuevo ORACLE_HOME/bin y exportar la variable. Con unos cambios de estos podemos terminar con una variable de PATH bastante extensa a la par que 'sucia'.

Dejo aquí un script para cambiar los valores típicos del entorno Oracle de una manera más limpia, o al menos eso creo yo :)

De lo que se trata es de, basándose en el ORACLE_HOME actual, buscarlo en el contenido del PATH actual y sustituirlo por el nuevo ORACLE_HOME que vamos a usar, exportando después este cambio como PATH.

Por ejemplo, estos son los 2 scripts necesarios para cambiar de un entorno ASM a un entorno de base de datos ( sid = test ). Yo siempre los ubico en ~/bin del usuario oracle



carga_entorno_asm

export ORACLE_BASE=/u01/app/oracle
export ORACLE_ASM=$ORACLE_BASE/product/10.2.0/ASM
export PATH=`echo $PATH | sed "s|$ORACLE_HOME|$ORACLE_ASM|g"`
export ORACLE_HOME=$ORACLE_ASM
export ORACLE_SID=+ASM


carga_entorno_bdtest

export ORACLE_BASE=/u01/app/oracle
export ORACLE_TEST=$ORACLE_BASE/product/10.2.0/TEST
export PATH=`echo $PATH | sed "s|$ORACLE_HOME|$ORACLE_TEST|g"`
export ORACLE_HOME=$ORACLE_TEST
export ORACLE_SID=TEST


Cada vez que tengamos que cambiar de entorno solo tendremos que ejecutar . $HOME/bin/carga_entorno_xxxx y lo tendremos disponible inmediatamente y libre de suciedad

También acostumbro a crear alias en
~/.bash_profile para cada carga de entorno, del tipo

alias cea='. ~/bin/carga_entorno_asm'
alias cet='. ~/bin/carga_entorno_bdtest'

y así agilizar los cambios

HTH

( If you want this post translated to english, let me know )

Nokia interesada en comprar TrollTech

Ya se había oído que los fabricantes de dispositivos móviles querían apostar por linux y software libre en sus equipos, lo que faltaba por saber era si iban a empezar desarrollos desde cero, colaborar con algunos de los ya existentes o, como en este caso, hacerse con todo el código, equipo de desarrolladores y know-how. Nokia ha decidido la tercera opción, y ha propuesto a TrollTech su compra

http://www.nokia.com/A4136001?newsid=1185531

http://trolltech.com/company/newsroom/announcements/press.2008-01-28.4605718236

El mismo anuncio en ambas empresas, ya está hecho.

Ahora empieza lo divertido, mayoritariamente Nokia ha marcado el camino a seguir en cuanto a dispositivos móviles, veremos como se posicionan ahora Motorola y el resto ( sobre todo en el ámbito de dispositivos tipo Palm )

Script para grabar lo que se hace en un shell ( ssh )

Etiquetas:

Por mi trabajo debo documentar las acciones que ejecuto en los hosts de los clientes con total fidelidad. Hace un tiempo estuve buscando alguna herramienta tipo gnome-terminal ( o consola virtual ) con la posibilidad de guardar el log de toda la entrada/salida que realizara dentro de dicha terminal. Esta funcionalidad me sería muy útil no tan solo para poder realizar la documentación que quiero ofrecer, sino también para poder disponer de forma rápida de ejemplos prácticos de ejecución de comandos vía terminal o como log de algún conjunto de acciones particulares. De momento no he encontrado ningún terminal con esa funcionalidad ( tampoco he hecho una búsqueda exahustiva ) pero si que encontré la aplicación propia de bash script que permite hacer algo parecido. Mediante un shell que he montado, automáticamente se graba toda la entrada/salida de lo que ejecuto a través de un ssh, guardándome el log en un directorio predeterminado y organizado por hosts accedidos. El nombre del fichero de log me indica con que usuario realicé el ssh y en que momento. Os dejo aquí el script ( en mis ejemplos se llama fer_ssh2.sh ) por si os es útil o por si os lo puede ser con las modificaciones que creáis oportunas. También adjunto un ejemplo de salida de ejecuciones así como el aspecto del directorio de log para que sirva de ejemplo de lo que he contado.


#!/bin/bash
CADENA=$1
DIRBASE=$HOME/logs_ssh2
FECHA=`date +%Y%m%d-%H.%M.%S`
ELHOST=${CADENA#*@}
ELUSER=${CADENA%@*}
DIRLOG=$DIRBASE/$ELHOST
if [ -d $DIRLOG ]; then
# si existe no hacemos nada - TODO: mirar si podemos negar el if
echo "1" > /dev/null
#el directorio existe, seguimos
else
mkdir -p $DIRLOG
fi
LOG=$DIRLOG/$FECHA-$ELUSER.log
echo "**************************************************"
echo "* HACIENDO SSH CONTRA $1"
echo "* Guardando log en $LOG"
echo "**************************************************"
script -c "ssh -X $1" $LOG
exit


  • Salida real del terminal donde lanzo fer_ssh2.sh ( contra mi propio host vía nombre máquina )


dballester@nebuchadnezzar:~$ fer_ssh2.sh dballester@nebuchadnezzar
**************************************************
* HACIENDO SSH CONTRA dballester@nebuchadnezzar
* Guardando log en /home/dballester/logs_ssh2/nebuchadnezzar/20071220-12.19.26-dballester.log
**************************************************
Script iniciado; el fichero es /home/dballester/logs_ssh2/nebuchadnezzar/20071220-12.19.26-dballester.log
The authenticity of host 'nebuchadnezzar (127.0.1.1)' can't be established.
RSA key fingerprint is af:6e:94:98:83:e1:d3:22:a9:c2:cf:d7:28:3a:59:c3.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'nebuchadnezzar' (RSA) to the list of known hosts.
dballester@nebuchadnezzar's password:
Linux nebuchadnezzar 2.6.22-14-generic #1 SMP Sun Oct 14 23:05:12 GMT 2007 i686

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
You have mail.
Last login: Thu Dec 20 11:59:12 2007 from localhost
dballester@nebuchadnezzar:~$ hostname
nebuchadnezzar
dballester@nebuchadnezzar:~$ df -h
S.ficheros Tamaño Usado Disp Uso% Montado en
/dev/sda6 4,6G 3,9G 536M 88% /
varrun 502M 112K 502M 1% /var/run
varlock 502M 0 502M 0% /var/lock
udev 502M 108K 502M 1% /dev
devshm 502M 0 502M 0% /dev/shm
lrm 502M 34M 468M 7% /lib/modules/2.6.22-14-generic/volatile
/dev/mapper/data-homes
30G 16G 13G 56% /home
/dev/sda1 76M 41M 32M 57% /boot
/dev/mapper/data-oracle11g
7,9G 5,9G 1,6G 79% /u01
/dev/scd0 7,6G 7,6G 0 100% /media/cdrom0
dballester@nebuchadnezzar:~$ exit
logout
Connection to nebuchadnezzar closed.
Script terminado; el fichero es /home/dballester/logs_ssh2/nebuchadnezzar/20071220-12.19.26-dballester.log
dballester@nebuchadnezzar:~$



  • Salida real del terminal donde lanzo fer_ssh2.sh ( contra mi propio host vía localhost )

dballester@nebuchadnezzar:~$ fer_ssh2.sh dballester@localhost
**************************************************
* HACIENDO SSH CONTRA dballester@localhost
* Guardando log en /home/dballester/logs_ssh2/localhost/20071220-12.21.35-dballester.log
**************************************************
Script iniciado; el fichero es /home/dballester/logs_ssh2/localhost/20071220-12.21.35-dballester.log
dballester@localhost's password:
Linux nebuchadnezzar 2.6.22-14-generic #1 SMP Sun Oct 14 23:05:12 GMT 2007 i686

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
You have mail.
Last login: Thu Dec 20 12:19:33 2007 from nebuchadnezzar
dballester@nebuchadnezzar:~$ ifconfig | grep -A2 Ether
eth0 Link encap:Ethernet HWaddr 00:14:22:A2:5E:86
inet addr:172.31.152.20 Bcast:172.31.152.255 Mask:255.255.255.0
inet6 addr: fe80::214:22ff:fea2:5e86/64 Scope:Link
dballester@nebuchadnezzar:~$ mii-tool
SIOCGMIIPHY on 'eth0' failed: Operation not permitted
SIOCGMIIPHY on 'eth1' failed: Operation not permitted
SIOCGMIIPHY on 'eth2' failed: Operation not permitted
SIOCGMIIPHY on 'eth3' failed: Operation not permitted
SIOCGMIIPHY on 'eth4' failed: Operation not permitted
SIOCGMIIPHY on 'eth5' failed: Operation not permitted
SIOCGMIIPHY on 'eth6' failed: Operation not permitted
SIOCGMIIPHY on 'eth7' failed: Operation not permitted
no MII interfaces found
dballester@nebuchadnezzar:~$ sudo mii-tool
[sudo] password for dballester:
eth0: no autonegotiation, 10baseT-HD, link ok
SIOCGMIIPHY on 'eth1' failed: Operation not supported
dballester@nebuchadnezzar:~$




  • Aspecto de los directorios de log

dballester@nebuchadnezzar:~$ ls -lR logs_ssh2
logs_ssh2:
total 36
drwxr-xr-x 2 dballester dballester 4096 2007-12-20 12:23 localhost
drwxr-xr-x 2 dballester dballester 4096 2007-12-20 12:19 nebuchadnezzar

logs_ssh2/localhost:
total 16
-rw-r--r-- 1 dballester dballester 4096 2007-12-20 12:22 20071220-12.21.35-dballester.log
-rw-r--r-- 1 dballester dballester 131 2007-12-20 12:23 20071220-12.23.10-dballester.log

logs_ssh2/nebuchadnezzar:
total 4
-rw-r--r-- 1 dballester dballester 1795 2007-12-20 12:19 20071220-12.19.26-dballester.log
dballester@nebuchadnezzar:~$

Qmail ya es de código libre

Una de las quejas principales a la hora de adoptar qmail como nuestro gestor de correo era que su autor, D.J. Bernstein no permitía la modificación del código y eso impedía la evolución de esta sólida solución de tratamiento de correo ( también había quien decía que qmail estaba tan bien que no hacían falta modificaciones... ). A partir de ya, D.J. Bernstein a puesto a disposición pública el código de qmail, tal y como anuncia en http://cr.yp.to/qmail/dist.html . La comunidad de usuarios avanzados de qmail ya se está moviendo para dar de alta el proyecto qmail en sourceforge.

Oracle 11g and Ubuntu 7.10 on the road



Tan fácil como seguir esta receta

Al cabo de 2 horas:

SQL> select INSTANCE_NAME,HOST_NAME,PLATFORM_ID,
PLATFORM_NAME,VERSION,DATABASE_STATUS
from v$instance,v$database;


INSTANCE_NAME
----------------
HOST_NAME PLATFORM_ID
---------------------------------------------------------------- -----------
PLATFORM_NAME
--------------------------------------------------------------------------------
VERSION DATABASE_STATUS
----------------- -----------------
dbm11g
nebuchadnezzar 10
Linux IA (32-bit)
11.1.0.6.0 ACTIVE


SQL> !cat /etc/issue
Ubuntu 7.10 \n \l


SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
PL/SQL Release 11.1.0.6.0 - Production
CORE 11.1.0.6.0 Production
TNS for Linux: Version 11.1.0.6.0 - Production
NLSRTL Version 11.1.0.6.0 - Production

SQL>