Obtener sesiones bloqueantes a través de consulta SQL en Oracle

Para obtener o saber si hay sesiones que estén ocasionando algún bloqueo en una base de datos Oracle 10g ejecutamos la siguiente consulta con un usuario con privilegios de administrador. En mi caso la estoy haciendo con el usuario SYS de Oracle:

SELECT
   blocking_session as "Id de la sesión bloqueante", sid as "Identificador de la sesión", 
   serial# "Numero de serie de la sesión", seconds_in_wait as "Segundos en espera"
FROM
   v$session
WHERE
   blocking_session is not NULL
ORDER BY
   blocking_session;

La columna “Id de la sesión bloqueante” nos mostrará el identificador de la sesión bloqueante. Esta columna, junto con el valor del “Número de serie de la sesión”, nos servirán para “matar” dicha sesión con el comando sql ALTER SYSTEM KILL SESSION.

¡Hasta pronto!

Nueva edición 2020/2021 del exitoso curso online “Bases de datos espaciales: PostGIS”

Hola a todos los amantes de los sistemas de información geográfica (SIG’s) y software de código abierto, la nueva edición del curso “Bases de datos espaciales: PostGIS” ya está aquí, actualizado a la versión 3 de PostGIS.

Las inscripciones ya están abiertas. El curso consta de un amplio temario compuesto por 15 módulos, 350 páginas de apuntes, 8 horas de video y 120 prácticas a realizar por los estudiantes; con una duración de 105 horas aproximadamente.

En el aprenderás el uso del lenguaje estructurado de consultas (SQL) de la base de datos PostgreSQL, PostGIS básico y Postgis Avanzado.

El curso está avalado por la Universidad Politécnica de Valencia, España, obtendrás un certificado oficial de aprovechamiento de parte de ésta universidad.

Puedes distribuir el tiempo dedicada al curso como más te convenga en los tres meses que dura el curso.

Para mas información e inscripción visita la página de CartoSIG o la página de cursos de la Universidad Politécnica de Valencia.

¡Los esperamos!

Cómo usar LIKE para comparar dos campos o columnas en Oracle.

Por lo regular, al usar el operador LIKE en una sentencia sql, lo comparamos con una cadena de texto, por ejemplo:

SELECT * FROM employees WHERE first_name LIKE '%ll%'; 

En el ejemplo anterior, obtendríamos todas las filas o registros de la tabla “employees” que contengan en su campo o columna “first_name” una doble ele minúscula.

Ahora, ¿qué tal si en lugar de escribir directamente el texto “ll” quisiéramos usar un campo o columna? Entonces tendríamos que usar el operador lógico LIKE de la siguiente forma:

...first_name LIKE '%' || nombre_del_campo_a_comparar || '%';

Donde “nombre_del_campo_a_comparar” es la columna o campo de tipo cadena de una tabla. El operador “||” en oracle, sirve para concatenar cadenas.

Bueno espero y esta entrada les sea de utilidad.

¡Hasta pronto!