Las columnas de las tablas de DB2 deben contener la siguiente información acerca de las sentencias SQL, sus métricas de tiempo de ejecución y los intervalos de tiempo durante las ejecuciones de las sentencias.
Este texto se puede dividir en segmentos que estén en otras filas. El ID de sentencia exclusivo y el número de secuencia aseguran que los segmentos se concatenen correctamente.
También puede especificar qué columnas contienen información acerca de objetos de base de datos a los que las sentencias SQL hacen referencia, si una tabla contiene esta información.
Este ejemplo utiliza IBM® DB2 Query Monitor for z/OS, que puede descargar datos en las tablas de DB2 for z/OS, del mismo modo que pueden hacerlo aplicaciones de supervisión de consultas que no son IBM. No obstante, para obtener mejores resultados, utilice la página Capturar SQL de DB2 Query Monitor for z/OS de la sección Capturar del asistente de flujos de trabajo para capturar sentencias SQL de DB2 Query Monitor for z/OS.
Supongamos que utiliza DB2 Query Monitor for z/OS y descarga datos de archivos VSAM en tablas de DB2 for z/OS. Luego desea consultar estas tablas para encontrar información acerca del rendimiento de las sentencias SQL en distintas aplicaciones de base de datos. Si alguna de las sentencias SQL queda por debajo del umbral de rendimiento, su objetivo es ajustar dichas sentencias.
Para capturar y ajustar las sentencias SQL de este repositorio de datos, debe descargar métricas de ejecución, texto SQL e información sobre los intervalos de tiempo.
Estos datos son necesarios para ajustar consultas y proporcionan estas ventajas:
Debe descargar datos en estas tres tablas:
Antes de utilizar el asistente de flujos de trabajo para capturar sentencias SQL, debe crear una vista que una estas tres tablas. A continuación se muestra un ejemplo:
CREATE VIEW QM_STMT_VIEW (DB2_SUBSYSTEM, PLAN, COLLECTION, PROGRAM, CONSISTENCY_TOKEN, AUTHID, METRICS_TOKEN, TEXT_TOKEN, SQLTEXT, SEQNO, INTERVAL_START, INTERVAL_END, SECTION, STMT, SQL_CALLS, DB2_CPU, DB2_ELAP, GETPAGES) AS SELECT A.DB2_SUBSYSTEM, A.PLAN, A.COLLECTION, A.PROGRAM, A.CONSISTENCY_TOKEN, A.AUTHID, A.METRICS_TOKEN, A.TEXT_TOKEN, B.SQLTEXT, 0, A.INTERVAL_START, CURRENT TIMESTAMP AS INTERVAL_END_TS, A.SECTION, A.STMT, A.SQL_CALLS, A.DB2_CPU, A.DB2_ELAPSED, A.GETPAGES FROM QMTOOLS.CQM23_SUMM_METRICS A, QMTOOLS.CQM23_SUMM_TEXT B WHERE A.TEXT_TOKEN = B.TEXT_TOKEN AND A.SMFID = B.SMFID AND A.CQM_SUBSYSTEM = B.CQM_SUBSYSTEM AND A.INTERVAL_NUMBER = B.INTERVAL_NUMBER AND A.INTERVAL_START = B.INTERVAL_START AND A.INTERVAL_NUMBER IN ( SELECT DISTINCT A.INTERVAL_NUMBER FROM QMTOOLS.CQM23_INTERVALS A, QMTOOLS.CQM23_SUMM_METRICS B WHERE A.SMFID = B.SMFID AND A.CQM_SUBSYSTEM = B.CQM_SUBSYSTEM AND A.INTERVAL_NUMBER = B.INTERVAL_NUMBER AND A.INTERVAL_START = B.INTERVAL_START);
Si la aplicación de supervisión de consultas descarta el texto de las sentencias SQL estáticas en la columna STMT de la tabla de catálogo SYSIBM.SYSPACKSTMT, la vista debe unir esta columna con las tablas CQMnnINTERVALS y CQMnnSUMM_METRICS tables. Esta vista también debe utilizar la función HEX() para convertir el texto de cada sentencia del formato BINARY a un formato de serie hexadecimal.
También puede descargar datos acerca de los objetos de base de datos a los que las sentencias SQL hacen referencia. Deberá descargar los datos en la tabla SUMM_OBJECTS.