Feed on Posts or Comments

Monthly ArchiveOctober 2008



DB & Oracle Fernando José on 28 Oct 2008

Listener lento, conexiones lentas (OUL 4/5, VMware)

Bueno este es solo un recordatorio.

Si las conexiones se ponen muy lentas, y el listener demora mucho en cualquier acción lo más seguro es que sea un problema de resolución de nombre por DNS. En los linux verificar que el nameserver dentro del /etc/resolv.conf apunta a una dirección IP válida.

FJA

DB & Oracle Fernando José on 08 Oct 2008

Simulando discos ASM

Para probar las nuevas características de la versión 11g necesito unos discos ASM, para simularlos la forma más sencilla es usar el comando dd de Linux para crear archivos que simulen discos o particiones limpias, luego enlazarlos a dispositivos loop. Ésta es una configuración de pruebas y no debe ser nunca puesta en producción, me voy a basar en un artículo de

Como root creamos un directorio y  4 archivos de 200MB que utilizaremos como discos.

mkdir /asmdisk
dd if=/dev/zero of=/asmdisk/disk1 bs=1024k count=200
dd if=/dev/zero of=/asmdisk/disk2 bs=1024k count=200
dd if=/dev/zero of=/asmdisk/disk3 bs=1024k count=200
dd if=/dev/zero of=/asmdisk/disk4 bs=1024k count=200
ls -lah /asmdisk/

Atención con la k después de 1024 caso contrario los discos sería de 200KB y no de 200MB. Después enlazamos los discos a dispositivos de loopback.

/sbin/losetup /dev/loop1 /asmdisk/disk1
/sbin/losetup /dev/loop2 /asmdisk/disk2
/sbin/losetup /dev/loop3 /asmdisk/disk3
/sbin/losetup /dev/loop4 /asmdisk/disk4

Llegado a este punto se puede o bien instalar ASMLib para gestionar los “discos”, o bien enlazar los archivos a dispositivos RAW. Además si se tiene problemas y se requieren aún más dispositivos pueden utilizar este tutorial de la base de conocimientos de Red Hat para superar el límite de dispositivos loopback.  Voy a probar con RAW aunque está desfazado y no debe ser usando en producción, lo correcto es instalar ASMLib para gestionar los discos ( si no me creen pongan man raw en un Linux); Además se dice (aunque no he encontrado pruebas de rendimient) que ASMLib es más rápido para configuraciones ASM que RAW. Relizamos como root:

raw /dev/raw/raw1 /dev/loop1
raw /dev/raw/raw2 /dev/loop2
raw /dev/raw/raw3 /dev/loop3
raw /dev/raw/raw4 /dev/loop4

Debemos cambiar los permisos, como root:

chown oracle:oinstall /asmdisk/disk*
chown oracle:oinstall /dev/raw/raw*

Se deben poner todos los comandos de creación antes utilizados de los dispositivos además del cambio de permisos en /etc/rc.local si se piensa reiniciar el servidor para no perder la configuracion.

Estamos listos, es hora de configurar la instancia ASM. Lo más sencillo es lanzar el dbca y hacer que el asistente configure la instancia. como el usuario dueño del software de  Oracle:

dbca
Se inicia la applicacion java, escogemos la opción ->  Configure Automatic Storage Management
Se nos pide ejecutar como root: $ORACLE_HOME/bin/localconfig add para configurar los CSS. (lo hacemos)
Nos piden asignar la clave del usuario SYS.

Finalmente creamos un nuevo disco con dos de los dispositivos existentes, se nos presentan los dispositivos raw disponibles como se aprecia en la gráfica.

Asignamos un nombre al Disk Group (yo le he puesto prueba1), le damos redundancia normal y asignamos dos o mas dispositivos RAW disponibles.

Para validar su uso podemos crear un  tablespace en el nuevo disco ASM, como un usario administrador en sqlplus:

SQL> create tablespace tbsp1 datafile ‘+PRUEBA1′ size 100M;
Tablespace created.

Creamos un usuario, le damos permisos y creamos una tabla relativamente grande (en proporción al tablespace) en nuestro tablespace sobre ASM. Como un usuario administrador en sqlplus:

SQL> create user dbup1 identified by dbpu1 default tablespace tbsp1 temporary tablespace temp;
User created.
SQL> grant resource, connect to dbup1;
Grant succeeded.
SQL> create table dbup1.cust as select * from sh.customers;
Table created.

Y estamos listos, tenemos un tablespace montado en un diskgroup ASM con dos discos utilizados en redundacia normal y dos mas como candidatos. Con esta configuración ya podemos jugar con ASM, si se quiere pasar de RAW a ASMLib existe información en este artículo en ORACLE-BASE de Tim Hall además existe una referencia a los comandos de ASM en el mismo sitio. Este es un paso previo a probar nuevas características de ASM en 11g de lo que espero escribir en breve.

Como ejercicio se podría intentar agregar un disco, remover un disco, cambiar los permisos de un disco para que ASM no lo pueda ver y mirar que sucede con el diskgroup, etc.

Saludos… FJA