ibm db2

Snapshots para tuning DB2

Para realizar un estudio de tuning es util la la creación de snapshots para capturar información de distintas estructuras/componentes de la instancia de base de datos.

En este articulo mostramos como se pueden utilizan para realizar un análisis de tuning.

Lo primero de todo, es tener activos los monitor switches que van recolectando datos de las distintas estructuras.

El estado de los monitores se pueden consultar de este modo:

Limitaciones DB2 Community Edition en comparación con Oracle XE y SQL Server Express

La versión gratuita de DB2 (DB2 Community Edition, que sustituye a DB2 Express-C) tiene mucho menos limitaciones que las existentes en Oracle y SQL Server: Oracle 18c Express Edition y SQL Server 2017 Express.

En este artículo se muestra está ventaja que se obtiene con IBM DB2 Community Edition en comparación con sus rivales.

Características

DB2 Community Edition

SQL Server 2017 Express

Oracle 18c Express Edition

Opciones db2 command line – Eliminar autocommit

La utilidad db2 command line tiene una serie de opciones por defecto. En este artículo mostraremos como eliminar el autocommit de las sentencias DML que por defecto está activado. En el caso de querer hacer alguna prueba, por ejemplo, simulando bloqueos o uso de logs puede ser útil eliminar esta característica, que está por defecto, para evitar que una sesión sin commit haga que usemos un número de logs activos superior al necesario.

Las opciones activas del DB2 command line se pueden obtener con las siguientes instrucciones:

Definición de columnas autoincrementales “identity” en DB2

En DB2 es posible crear columnas autoincrementales, es decir, cuyo valor en caso de no definirse en una inserción se vaya incrementando a partir de unos valores definidos. Este tipo de columnas también se pueden definir en SQL Server, y en Oracle se realiza a través de secuencias.

La mejor manera de explicarlo es con un ejemplo: a continuación se muestra la creación de una tabla con una columna autoincremental que es primary key.

Creación de la tabla ESTUDIANTES con la columna ID definida como autoincremental:

DB2 Top 10 SQL por número de ejecuciones

SQL para obtener el top ten de SQL con más ejecuciones de mi base de datos DB2:

db2 "SELECT NUM_EXECUTIONS as EXECUTIONS,

        AVERAGE_EXECUTION_TIME_S as TIME_SECONDS,

        STMT_TEXT as TEXT  

        FROM SYSIBMADM.TOP_DYNAMIC_SQL  

        WHERE upper(STMT_TEXT) like 'SELECT%'  

        ORDER BY NUM_EXECUTIONS DESC

        FETCH FIRST 10 ROWS ONLY"

 

Graba y haz replay con DB2TOP

DB2TOP es una herramienta muy útil en la administración de BBDDs que habitualmente se usa de manera online, pero también se puede usar para grabar la información y que pueda ser analizada cuando los teléfonos dejen de sonar y el problema haya pasado. En este artículo verás como capturar toda la información de db2top y como poder volver a verla en tiempo real de nuevo.

¿Cómo capturar la info de DB2TOP? Con la opción “-C”. Pulsar “N” para la creación de un fichero con los datos. La opción “-m” sirve para indicar el número de minutos a recolectar, si tienes problemas de espacio.

DB2 Top 10 SQL por Tiempo de Ejecución

Si quieres obtener el Top Ten de sentencias SELECT con mayor tiempo de ejecución en tu base de datos DB2:

db2 "SELECT AVERAGE_EXECUTION_TIME_S as TIME_SECONDS, 

        NUM_EXECUTIONS as EXECUTIONS,

        STMT_TEXT as TEXT

        FROM SYSIBMADM.TOP_DYNAMIC_SQL

        WHERE upper(STMT_TEXT) like 'SELECT%'

       ORDER BY AVERAGE_EXECUTION_TIME_S DESC

        FETCH FIRST 10 ROWS ONLY"

DB2 con BLU Acceleration para SAP

Cada vez conozco más entornos SAP corriendo con DB2.

Este es un video muy interesante respecto a las capacidades de DB2 con BLU Acceleration aplicadas a SAP, así como las notas SAP a considerar.

Sorprendente la comparativa con SAP HANA, y como con menor complejidad e inversión dicen obtener mayor rendimiento.

 

Adjunto también presentación de la Tech Talk Use DB2 with BLU Acceleration for SAP, de la que destaco las sorprendentes conclusiones de esta comparación de BD2 BLU Acceleration con SAP HANA:

DB2 Write Suspend

Cuando se realiza un snapshot desde una cabina de almacenamiento, en el caso de exista un servidor DB2 (o cualquier Base de Datos), no hay certeza de que el snapshot contenga una copia consistente de la base de datos.

Para poder lanzar un snapshot y asegurar la copia consistente, en DB2 existe la posibilidad de poner la base de datos en “write suspend”, esto es, se anula el acceso a disco en modo de escritura, y se trabaja en el buffer pool de memoria. Las consultas si accederán a disco, pero las escrituras se realizaran exclusivamente en memoria.