bases de datos

MySQL Workbench

Hay veces que uno encuentra un programa de pc que simplemente le hacen dar ganas de decirle a todo el mundo que existe. Este es el caso de MySQL Workbench 5.0. Con este programa podemos crear un diagrama Entidad Relación para MySQL de manera gráfica  y sobretodo muy rápidamente.

image

Indentificar sesiones colgadas en Oracle

Estaba teniendo serios problemas con una de mis bases de datos en las cuales las sesiones se estaban quedando bloquedas (colgadas) y no dejaban trabajar a los otros usuarios.

No voy a discutir como se soluciona este error puesto que es más problema del producto que está instalado en la base de datos que la base de datos en si. Lo que si voy a mostrar es como visualizar que sesiones pueden estar colgadas.


select a.sid, a.serial# sid, a.username, a.machine, a.program, a.status, b.event, b.seconds_in_wait
from v$session a, v$session_wait b
where b.sid = a.sid

ORA-25153: Temporary Tablespace is Empty

Estaba trabajando en una de mis bases de datos (Soy el DBA, puedo decir 'Mis' ?) así que decidí reconstruir el catálogo (otro día explicaré como es ese proceso). El problema es que esta reconstrucción deja muchos objetos en estado inválidos así que tuve que ejecutar utlrp para recompilar los objetos inválidos.

Desafortunadamente la compilación falló con el siguiente error:


BEGIN utl_recomp.recomp_serial(); END;
*
ERROR at line 1:
ORA-25153: Temporary Tablespace is Empty
ORA-06512: at "SYS.UTL_RECOMP", line 499

Obtener la IP de un host desde Oracle

Muchas veces, sobretodo cuando se trabajan con varias bases de datos en varios servidores, se puede necesitar saber cual es la ip o el nombre del servidor en el que está corriendo la base de datos.

El método más sencillo y confiable para obtener esta información es utilizando el paquete UTL_INADDR.


Conectado a:
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production

SQL> set serveroutput on;
SQL>
SQL> exec dbms_output.put_line(utl_inaddr.get_host_address);
192.168.0.8

Procedimiento PL/SQL terminado correctamente.

Distribuir contenido