Procedimiento almacenado ADMIN_EXPLAIN_MAINT

Puede utilizar el procedimiento almacenado ADMIN_EXPLAIN_MAINT para crear tablas EXPLAIN, actualizar las tablas al formato de la versión actual de Db2 y completar otras tareas administrativas.

Iniciar la información de la interfaz de programación de uso general.

Para obtener información más detallada sobre las tareas administrativas que puede completar para las tablas de EXPLAIN utilizando el procedimiento almacenado ADMIN_EXPLAIN_MAINT, vea la descripción del parámetro de entrada acción.

Importante : El procedimiento almacenado ADMIN_EXPLAIN_MAINT no convierte las tablas EXPLAIN que están codificadas en EBCDIC a Unicode. Sin embargo, sí actualiza el formato de dichas tablas al formato de la versión actual de Db2 . A partir de la versión DB2® 10, se emite SQLCODE -878 para las tablas EXPLAIN que están codificadas en CCSID distintos de Unicode.

Entorno

El procedimiento almacenado ADMIN_EXPLAIN_MAINT debe ejecutarse en un espacio de direcciones de procedimiento almacenado establecido por WLM.

Autorización

Para ejecutar la sentencia CALL, el propietario del paquete o plan que contiene la sentencia CALL debe disponer de uno o varios de los privilegios siguientes en cada paquete que utiliza el procedimiento almacenado:
  • Privilegio EXECUTE sobre el paquete de procedimiento almacenado
  • Propiedad del paquete
  • Autorización PACKADM para la recopilación de paquetes
  • Autorización SYSADM
El procedimiento almacenado ejecuta la sentencia SET CURRENT SQLID para cambiar el valor de CURRENT SQLID por el valor especificado por el parámetro de entrada idaut. El valor de CURRENT SQLID es el ID de autorización para sentencias de SQL dinámico.

Sintaxis

El siguiente diagrama de sintaxis muestra la sentencia CALL de SQL para invocar este procedimiento almacenado:

Leer diagrama de sintaxisOmitir el diagrama de sintaxis visual CALL ADMIN_EXPLAIN_MAINT ( modoNULL , acciónNULL , gestionar-aliasNULL , vajillaNULL , idaut , nombre-esquema , alias de esquemaNULL , nombre-base-datosNULL , base de datos stogroupNULL , índice de grupos de marcasNULL , 4k-bufferpoolNULL , 8k-bufferpoolNULL , 16k-bufferpoolNULL , 32k-bufferpoolNULL , índice-búfer de memoriaNULL , bp-4kb-lobNULL , bp-8kb-lobNULL , bp-16kb-lobNULL , bp-32kb-lobNULL , código-retorno , mensaje )

Descripciones de opciones

modo
Especifica la modalidad de proceso. Este parámetro de entrada acepta los valores siguientes:
EJECUTAR
Modificar y crear las tablas EXPLAIN para el SCHEMA especificado.
VISTA PREVIA
No se procesan los cambios.
El tipo de datos de este parámetro de entrada es VARCHAR(8). Si no se especifica esta opción, el valor predeterminado es RUN (ejecutar).
acción
Especifica la acción que se ha completado para las tablas de EXPLAIN en el esquema especificado. Este parámetro de entrada acepta los valores siguientes:
STANDARDIZE
Actualice todas las tablas de EXPLAIN existentes al formato de la versión actual de Db2.
STANDARDIZE_AND_CREATE
Actualizar todas las tablas EXPLAIN existentes al formato de la versión actual de Db2 , y crear las tablas que falten de las especificadas por el parámetro de entrada table-set.
CREATE
Cree un nuevo conjunto de tablas de EXPLAIN en el esquema especificado. Sólo se crean las tablas especificadas por el parámetro de entrada conjunto-tablas.
CREATE_ALIAS
Cree un nuevo conjunto de alias únicamente. Los nuevos alias están cualificados por el valor especificado para el parámetro de entrada alias-esquema.
DROP
Descarte todas las tablas de EXPLAIN existentes y el espacio de tabla asociado.
DROP_AND_CREATE
Descarte todas las tablas de EXPLAIN existentes y los espacios de tabla asociados y cree un conjunto de sustitución de las tablas especificadas mediante el parámetro de entrada conjunto-tablas.
El tipo de datos de este parámetro de entrada es VARCHAR(30). Si esta opción no se especifica, el valor predeterminado es STANDARDIZE.
gestionar-alias
Especifica si se deben crear alias para las tablas de EXPLAIN. Este parámetro de entrada acepta los valores siguientes:
YES
El procedimiento almacenado crea alias para que todas las tablas de EXPLAIN del esquema especificado tengan alias que correspondan a los alias de PLAN_TABLE existentes.
NEE
No se crean alias.
El tipo de datos de este parámetro de entrada es VARCHAR(3). Si no se especifica esta opción, el valor predeterminado es NO.
conjunto-tablas
Especifica la lista de tablas de EXPLAIN que se deben crear.

Si el valor de acción es CREATE, las tablas especificadas no deben existir todavía. Este parámetro de entrada acepta los valores siguientes:

'table-name-1, table-name-2, ..., nombre-tabla-n '
Especifica una lista explícita de tablas a crear.
ALL
Todas las tablas de EXPLAIN creadas con los trabajos de ejemplo DSNTESC y DSNTESH.
ACCEL
Solamente las tablas siguientes:
  • PLAN_TABLE
  • DSN_STATEMNT_TABLE
  • DSN_STATEMENT_CACHE_TABLE
  • DSN_QUERYINFO_TABLE
DIAGNOSTICS
Solamente las tablas siguientes:
  • PLAN_TABLE
  • DSN_STATEMNT_TABLE
  • DSN_DETCOST_TABLE
  • DSN_PREDICAT_TABLE
  • DSN_FILTER_TABLE
  • DSN_COLDIST_TABLE
  • DSN_KEYTGTDIST_TABLE
  • DSN_QUERYINFO_TABLE
ALL_EXCEPT( table-name-1,,..., table-name-2,..., nombre-tabla-n)
Todas las tablas creadas con los trabajos de ejemplo DSNTESC y DSNTESH, excepto las tablas especificadas en la lista.

Este valor sólo es aplicable si acción tiene uno de los valores siguientes:

  • STANDARDIZE_AND_CREATE
  • CREATE
  • DROP_AND_CREATE

El tipo de datos de este parámetro de entrada es VARCHAR(1000). Si no se especifica esta opción, se crean de forma predeterminada, las siguientes tablas de EXPLAIN:

  • PLAN_TABLE
  • DSN_STATEMNT_TABLE
  • DSN_STATEMENT_CACHE_TABLE
autentificación
El valor de CURRENT SQLID. Si no se especifica esta opción, se utiliza el valor del registro especial CURRENT SQLID. El tipo de datos de este parámetro de entrada necesario es VARCHAR(128).
nombre-esquema
Especifica el nombre de esquema que cualifica las tablas de EXPLAIN. Si no se especifica esta opción, se utiliza el valor del registro especial CURRENT SCHEMA. El tipo de datos de este parámetro de entrada necesario es VARCHAR(128).
alias-esquema
Especifica el nombre de esquema que cualifica los alias que se crean cuando el valor de acción es CREATE_ALIAS. El tipo de datos de este parámetro de entrada es VARCHAR(128). Este parámetro de entrada es necesario cuando el valor de acción es CREATE_ALIAS.
nombre-base-datos
Especifica la base de datos que contiene las nuevas tablas de EXPLAIN. El procedimiento almacenado crea la base de datos si no existe. El tipo de datos de este parámetro de entrada es VARCHAR(8). Si no se especifica esta opción, el procedimiento almacenado omite los nombres de base de datos y espacio de tabla de las sentencias CREATE TABLE para las tablas de EXPLAIN.
basedatos-grupoalm
Especifica el grupo de almacenamiento de la base de datos que contiene las nuevas tablas de EXPLAIN. El tipo de datos de este parámetro de entrada es VARCHAR(128). Si no se especifica esta opción, el procedimiento almacenado omite la palabra clave STOGROUP de la sentencia CREATE DATABASE, si la base de datos aún no existe.
índice-grupoalm
Especifica el grupo de almacenamiento para los índices de las nuevas tablas de EXPLAIN. El tipo de datos de este parámetro de entrada es VARCHAR(128). Si no se especifica esta opción, el procedimiento almacenado omite la palabra clave USING STOGROUP de la sentencia CREATE INDEX.
4k-bufferpool
Especifica el nombre de la agrupación de almacenamiento intermedio de páginas de 4 KB que se asigna a los nuevos espacios de tabla. El tipo de datos de este parámetro de entrada es VARCHAR(8). Si no se especifica esta opción, el procedimiento almacenado omite el nombre del espacio de tablas de las sentencias CREATE TABLE de las tablas de EXPLAIN.
8k-bufferpool
Especifica el nombre de la agrupación de almacenamiento intermedio de páginas de 8 KB que se asigna a los nuevos espacios de tabla. El tipo de datos de este parámetro de entrada es VARCHAR(8). Si no se especifica esta opción, el procedimiento almacenado omite el nombre del espacio de tablas de las sentencias CREATE TABLE de las tablas de EXPLAIN.
16k-bufferpool
Especifica el nombre de la agrupación de almacenamiento intermedio de páginas de 16 KB que se asigna a los nuevos espacios de tabla. El tipo de datos de este parámetro de entrada es VARCHAR(8). Si no se especifica esta opción, el procedimiento almacenado omite el nombre del espacio de tablas de las sentencias CREATE TABLE de las tablas de EXPLAIN.
32k-bufferpool
Especifica el nombre de la agrupación de almacenamiento intermedio de páginas de 32 KB que se asigna a los nuevos espacios de tabla. El tipo de datos de este parámetro de entrada es VARCHAR(8). Si no se especifica esta opción, el procedimiento almacenado omite el nombre del espacio de tablas de las sentencias CREATE TABLE de las tablas de EXPLAIN.
índice-agrupalmint
Especifica el nombre de la agrupación de almacenamiento intermedio para los índices de las nuevas tablas de EXPLAIN. El tipo de datos de este parámetro de entrada es VARCHAR(8). Si no se especifica esta opción, el procedimiento almacenado omite la palabra clave BUFFERPOOL de la sentencia CREATE INDEX.
bp-4kb-lob
Especifica el nombre de la agrupación de almacenamiento intermedio de páginas de 4 KB que se asigna a nuevos espacios de tablas LOB para las nuevas tablas auxiliares de las nuevas tablas de EXPLAIN. El tipo de datos de este parámetro de entrada es VARCHAR(8). Si no se especifica esta opción, el procedimiento almacenado omite la palabra clave BUFFERPOOL de la sentencia CREATE LOB TABLESPACE.
bp-8kb-lob
Especifica el nombre de la agrupación de almacenamiento intermedio de páginas de 8 KB que se asigna a nuevos espacios de tablas LOB para las nuevas tablas auxiliares de las nuevas tablas de EXPLAIN. El tipo de datos de este parámetro de entrada es VARCHAR(8). Si no se especifica esta opción, el procedimiento almacenado omite la palabra clave BUFFERPOOL de la sentencia CREATE LOB TABLESPACE.
bp-16kb-lob
Especifica el nombre de la agrupación de almacenamiento intermedio de páginas de 16 KB que se asigna a nuevos espacios de tablas LOB para las nuevas tablas auxiliares de las nuevas tablas de EXPLAIN. El tipo de datos de este parámetro de entrada es VARCHAR(8). Si no se especifica esta opción, el procedimiento almacenado omite la palabra clave BUFFERPOOL de la sentencia CREATE LOB TABLESPACE.
bp-32kb-lob
Especifica el nombre de la agrupación de almacenamiento intermedio de páginas de 32 KB que se asigna a nuevos espacios de tablas LOB para las nuevas tablas auxiliares de las nuevas tablas de EXPLAIN. El tipo de datos de este parámetro de entrada es VARCHAR(8). Si no se especifica esta opción, el procedimiento almacenado omite la palabra clave BUFFERPOOL de la sentencia CREATE LOB TABLESPACE.
código-retorno
Parámetro de salida que contiene el código de retorno del procedimiento almacenado. Debe tener uno de los siguientes valores:
0
La llamada se ha realizado satisfactoriamente.
4
Una o más tablas de EXPLAIN existentes no están en Unicode. Los formatos de tabla se actualizan al formato de la versión actual de Db2. Pero las tablas no se convierten a Unicode.
8
El formato de una o más tablas de EXPLAIN existentes que se habían incluido en el parámetro de entrada conjunto-tablas no se puede actualizar al formato de la versión actual de Db2 porque el formato existente no coincide con ningún formato conocido o las tablas no se pueden modificar mediante una sentencia ALTER TABLE.
12
La llamada no se ha realizado satisfactoriamente. El parámetro de salida mensaje contiene mensajes que describen el error.
mensaje
Parámetro de salida que contiene mensajes que describen los errores que ha encontrado el procedimiento almacenado.

En el siguiente ejemplo de lenguaje C se muestra cómo invocar el procedimiento almacenado ADMIN_EXPLAIN_MAINT:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 /******************* DB2 SQL Communication Area *******************/
EXEC SQL INCLUDE SQLCA;
int main( int argc, char *argv[] )    /* Argument count and list   */
{
 /****************** DB2 Host Variables ****************************/
 EXEC SQL BEGIN DECLARE SECTION;
 /* SYSPROC.ADMIN_EXPLAIN_MAINT parameters                         */
 char       pmode[9];            /* Processing mode                */
 char       paction[31];         /* Action                         */
 char       pmanagealias[4];     /* Manage alias                   */
 char       ptableset[1001];     /* EXPLAIN tables to be created   */
 char       pauthid[129];        /* CURRENT SQLID setting          */
 char       pschema[129];        /* EXPLAIN tables qualifier       */
 char       pschemaalias[129];   /* EXPLAIN tables aliases qual    */
 char       pdatabase[9];        /* Database of EXPLAIN tables     */
 char       pstogroupdb[129];    /* Storage group of database      */
 char       pstogroupix[129];    /* Storage group of EXPLAIN       */
                                 /* tables indexes                 */
 char       p4Kbp[9];            /* 4 KB page buffer pool for      */
                                 /* table space of EXPLAIN table   */
 char       p8Kbp[9];            /* 8 KB page buffer pool for      */
                                 /* table space of EXPLAIN table   */
 char       p16Kbp[9];           /* 16 KB page buffer pool for     */
                                 /* table space of EXPLAIN table   */
 char       p32Kbp[9];           /* 32 KB page buffer pool for     */
                                 /* table space of EXPLAIN table   */
 char       pixbp[9];            /* Buffer pool for indexes of     */
                                 /* EXPLAIN tables                 */
 char       p4Klobbp[9];         /* 4 KB page buffer pool for      */
                                 /* LOB table space                */
 char       p8Klobbp[9];         /* 8 KB page buffer pool for      */
                                 /* LOB table space                */
 char       p16Klobbp[9];        /* 16 KB page buffer pool for     */
                                 /* LOB table space                */
 char       p32Klobbp[9];        /* 32 KB page buffer pool for     */
                                 /* LOB table space                */
 long int   prc;                 /* Return code                    */
 char       pmsg[1332];          /* Error message                  */

 short int  ind_pmode;           /* Indicator variable             */
 short int  ind_paction;         /* Indicator variable             */
 short int  ind_pmanagealias;    /* Indicator variable             */
 short int  ind_ptableset;       /* Indicator variable             */
 short int  ind_pauthid;         /* Indicator variable             */
 short int  ind_pschema;         /* Indicator variable             */
 short int  ind_pschemaalias;    /* Indicator variable             */
 short int  ind_pdatabase;       /* Indicator variable             */
 short int  ind_pstogroupdb;     /* Indicator variable             */
 short int  ind_pstogroupix;     /* Indicator variable             */
 short int  ind_p4Kbp;           /* Indicator variable             */
 short int  ind_p8Kbp;           /* Indicator variable             */
 short int  ind_p16Kbp;          /* Indicator variable             */
 short int  ind_p32Kbp;          /* Indicator variable             */
 short int  ind_pixbp;           /* Indicator variable             */
 short int  ind_p4Klobbp;        /* Indicator variable             */
 short int  ind_p8Klobbp;        /* Indicator variable             */
 short int  ind_p16Klobbp;       /* Indicator variable             */
 short int  ind_p32Klobbp;       /* Indicator variable             */
 short int  ind_prc;             /* Indicator variable             */
 short int  ind_pmsg;            /* Indicator variable             */
 /* Result set locators                                            */
 volatile SQL TYPE IS RESULT_SET_LOCATOR *rs_loc1;
 volatile SQL TYPE IS RESULT_SET_LOCATOR *rs_loc2;
 volatile SQL TYPE IS RESULT_SET_LOCATOR *rs_loc3;
 /* SYSIBM.EXPLAIN_MAINT_SUMMARY result set row                    */
 long int    db_created;             /* Num databases created      */
 long int    ts_created;             /* Num table spaces created   */
 long int    tb_created;             /* Num EXPLAIN tables created */
 long int    aux_created;            /* Num aux tables created     */
 long int    ix_created;             /* Num indexes created        */
 long int    alias_created;          /* Num aliases created        */
 long int    tb_examined;            /* Num EXPLAIN tables examined*/
                                     /* for old format             */
 long int    tb_altered;             /* Num databases created      */
 long int    ts_dropped;             /* Num table spaces dropped   */
 long int    tb_dropped;             /* Num EXPLAIN tables dropped */
 long int    tb_unexpected_format;   /* Num EXPLAIN tables with    */
                                     /* invalid format             */
 long int    tb_not_standardized;    /* Num EXPLAIN tables not     */
                                     /* upgraded to the current    */
                                     /* DB2 release format         */
 long int    tb_not_unicode;         /* Num EXPLAIN tables not     */
                                     /* in UNICODE                 */
 /* SYSIBM.EXPLAIN_MAINT_SQL result set row                        */
 long int    rownum2;                /* Sequence number of the     */
                                     /* table row                  */
 char        sql[16000];             /* SQL statement              */
 /* SYSIBM.EXPLAIN_MAINT_TB_NOT_UPGRADED result set row            */
 long int    rownum3;                /* Sequence number of the     */
                                     /* table row                  */
 char        schemaname[129];        /* EXPLAIN table qualifier    */
 char        tbname[129];            /* EXPLAIN table name         */
 char        reason[1001];           /* Reason                     */
 EXEC SQL END DECLARE SECTION;

 int resultset3 = 0;                 /* Result set 3 not returned  */
 /******************************************************************/
 /* Clear result tables                                            */
 /******************************************************************/
 EXEC SQL DELETE FROM SYSIBM.EXPLAIN_MAINT_SUMMARY;
 EXEC SQL DELETE FROM SYSIBM.EXPLAIN_MAINT_SQL;
 EXEC SQL DELETE FROM SYSIBM.EXPLAIN_MAINT_TB_NOT_UPGRADED;
 /******************************************************************/
 /* Set procedure input parameters                                 */
 /******************************************************************/
 strcpy(paction, "STANDARDIZE_AND_CREATE");
 strcpy(ptableset,
        "DSN_PREDICATE_SELECTIVITY, DSN_STAT_FEEDBACK");
 strcpy(pauthid, "USER001");
 strcpy(pschema, "USER002");
 ind_pmode = -1;
 ind_paction = 0;
 ind_pmanagealias = -1;
 ind_ptableset = 0;
 ind_pauthid = 0;
 ind_pschema = 0;
 ind_pschemaalias = -1;
 ind_pdatabase = -1;
 ind_pstogroupdb = -1;
 ind_pstogroupix = -1;
 ind_p4Kbp = -1;
 ind_p8Kbp = -1;
 ind_p16Kbp = -1;
 ind_p32Kbp = -1;
 ind_pixbp = -1;
 ind_p4Klobbp = -1;
 ind_p8Klobbp = -1;
 ind_p16Klobbp = -1;
 ind_p32Klobbp = -1;
 ind_prc = -1;
 ind_pmsg = -1;
 /******************************************************************/
 /* Call stored procedure SYSPROC.ADMIN_EXPLAIN_MAINT              */
 /******************************************************************/
 EXEC SQL CALL SYSPROC.ADMIN_EXPLAIN_MAINT (
                      :pmode:ind_pmode,
                      :paction:ind_paction,
                      :pmanagealias:ind_pmanagealias,
                      :ptableset:ind_ptableset,
                      :pauthid:ind_pauthid,
                      :pschema:ind_pschema,
                      :pschemaalias:ind_pschemaalias,
                      :pdatabase:ind_pdatabase,
                      :pstogroupdb:ind_pstogroupdb,
                      :pstogroupix:ind_pstogroupix,
                      :p4Kbp:ind_p4Kbp,
                      :p8Kbp:ind_p8Kbp,
                      :p16Kbp:ind_p16Kbp,
                      :p32Kbp:ind_p32Kbp,
                      :pixbp:ind_pixbp,
                      :p4Klobbp:ind_p4Klobbp,
                      :p8Klobbp:ind_p8Klobbp,
                      :p16Klobbp:ind_p16Klobbp,
                      :p32Klobbp:ind_p32Klobbp,
                      :prc:ind_prc,
                      :pmsg:ind_pmsg);
 /******************************************************************/
 /* Retrieve result sets when the SQLCODE from the call is +446,   */
 /* which indicates that result sets were returned                 */
 /******************************************************************/
 if (SQLCODE == +466)               /* Result sets were returned   */
 {
   /* Establish a link between a result set and its locator        */
   EXEC SQL ASSOCIATE LOCATORS (:rs_loc1, :rs_loc2, :rs_loc3)
 		WITH PROCEDURE SYSPROC.ADMIN_EXPLAIN_MAINT;
   /* Associate a cursor with each result set                      */
   EXEC SQL ALLOCATE C1 CURSOR FOR RESULT SET :rs_loc1;
   EXEC SQL ALLOCATE C2 CURSOR FOR RESULT SET :rs_loc2;
   EXEC SQL ALLOCATE C3 CURSOR FOR RESULT SET :rs_loc3;
   if (SQLCODE == 0)                /* Result set 3 is returned    */
     resultset3 = 1;
   /* Perform fetch using C1 to retrieve the first result set      */
   EXEC SQL FETCH C1 INTO :db_created, :ts_created,
                          :tb_created, :aux_created,
                          :ix_created, :alias_created,
                          :tb_examined, :tb_altered,
                          :ts_dropped, :tb_dropped,
						  :tb_unexpected_format,
						  :tb_not_standardized,
                          :tb_not_unicode;
   /* Perform fetches using C2 to retrieve all rows from the       */
   /* second result set                                            */
   EXEC SQL FETCH C2 INTO :rownum2, :sql;
   while (SQLCODE == 0)
   {
     EXEC SQL FETCH C2 INTO :rownum2, :sql;
   }
   /* Perform fetches using C3 to retrieve all rows from the       */
   /* third result set                                             */
   if (resultset3 == 1)
   {
     EXEC SQL FETCH C3 INTO :rownum3, :schemaname, :tbname,
                            :reason;
     while (SQLCODE == 0)
     {
       EXEC SQL FETCH C3 INTO :rownum3, :schemaname, :tbname,
                              :reason;
     }
   }
 }
 return;
}

Salida

El procedimiento almacenado ADMIN_EXPLAIN_MAINT crea hasta 3 conjuntos de resultados que se devuelven en las siguientes tablas temporales globales:

SYSIBM.EXPLAIN_MAINT_SUMMARY
El resumen de las acciones completadas por el procedimiento almacenado si el valor del parámetro de entrada modalidad es RUN. Si el valor del parámetro de entrada modalidad es PREVIEW, este conjunto de resultados resume las acciones, pero las acciones no se completan. Los valores de las diversas columnas tipo_CREATED tipo_ALTERED, tipo_DROPPED resumen los números de las sentencias correspondientes para cada acción en la columna SQL del conjunto de resultados SYSIBM.EXPLAIN_MAINT_SQL.
Tabla 1. Formato del conjunto de resultados SYSIBM.EXPLAIN_MAINT_SUMMARY
Nombre de columna Tipo de datos Descripción
DB_CREATED INTEGER NOT NULL El número de bases de datos que se crean.
TS_CREATED INTEGER NOT NULL El número de espacios de tabla que se crean.
TB_CREATED INTEGER NOT NULL El número de tablas de EXPLAIN que se crean.
AUX_CREATED INTEGER NOT NULL El número de tablas auxiliares que se crean.
IX_CREATED INTEGER NOT NULL El número de índices que se crean.
ALIAS_CREATED INTEGER NOT NULL El número de alias que se crean.
TB_EXAMINED INTEGER NOT NULL El número de tablas de EXPLAIN que se han examinado para formatos anteriores al formato de la versión actual de Db2.
TB_ALTERED INTEGER NOT NULL El número de tablas que se modifican para utilizar el formato de la versión actual de Db2.
TS_DROPPED INTEGER NOT NULL El número de espacios de tabla que se han descartado.
TB_DROPPED INTEGER NOT NULL El número de tablas de EXPLAIN que se han descartado.
TB_UNEXPCECTED_FORMAT INTEGER NOT NULL El número de tablas de EXPLAIN que no corresponden a ningún formato válido conocido.
TB_NOT_STANDARDIZED INTEGER NOT NULL El número de tablas de EXPLAIN que no se pueden convertir al formato de la versión actual de Db2.
TB_NOT_UNICODE INTEGER NOT NULL El número de tablas de EXPLAIN existentes que están codificadas en un CCSID distinto de Unicode. Estas tablas se actualizan al formato de la versión actual de Db2 , pero el CCSID no se cambia a Unicode.
SYSIBM.EXPLAIN_MAINT_SQL
Una lista de las sentencias de SQL que emite el procedimiento almacenado si el valor del parámetro de entrada modalidad es RUN. Si el valor del parámetro de entrada modalidad es PREVIEW, este conjunto de resultados resume las acciones, pero las sentencias no se emiten.
Tabla 2. Formato del conjunto de resultados SYSIBM.EXPLAIN_MAINT_SQL
Nombre de columna Tipo de datos Descripción
ROWNUM INTEGER NOT NULL Número de secuencia de la fila de la tabla, 1- n.
SQL VARCHAR(16000) NOT NULL El texto de una sentencia de SQL que emite el procedimiento almacenado para crear, alterar o descartar tablas de EXPLAIN y objetos relacionados.
Nombres de espacios de tabla: Los espacios de tabla que el procedimiento almacenado ADMIN_EXPLAIN_MAINT crea para las tablas EXPLAIN y las tablas auxiliares relacionadas tienen nombres basados en una abreviatura de cuatro letras del nombre de la tabla asociada, seguida de un número de cuatro dígitos que garantiza la unicidad del nombre. Las abreviaturas de cuatro letras no siguen un patrón coherente en relación con los distintos nombres de tabla. Por ejemplo, PLANnnnn se utiliza para PLAN_TABLE, STMTnnnn es para DSN_STATEMNT_TABLE, y SFEDnnnn se utiliza para la tabla DSN_STAT_FEEDBACK.

Puede encontrar los nombres de espacios de tabla que el procedimiento almacenado crea en el conjunto de resultados SYSIBM.EXPLAIN_MAINT_SQL.

SYSIBM.EXPLAIN_MAINT_TB_NOT_UPGRADED
Este conjunto de resultados sólo se devuelve cuando el valor del parámetro de entrada acción es STANDARDIZE o ESTANDARIZE_AND_CREATE y se cumple como mínimo una de las condiciones siguientes. El conjunto de resultados contiene una fila para cada una de las siguientes incidencias:
  • La tabla se ha creado con un CSSID distinto de Unicode. Dichas tablas se puede actualizarse al formato de la versión actual de Db2. Sin embargo, el CCSID no se cambia a Unicode.
  • El formato de la tabla EXPLAIN no corresponde a ningún formato conocido. Dichas tablas no se actualizan.
  • Las sentencias ALTER TABLE no pueden completar los cambios que son necesarios para actualizar una tabla al formato de la versión actual de Db2. Dichas tablas no se actualizan.
Tabla 3. Formato del conjunto de resultados SYSIBM.EXPLAIN_TMAIN_TB_NOT_UPGRADED
Nombre de columna Tipo de datos Descripción
ROWNUM INTEGER NOT NULL Número de secuencia de la fila de la tabla, 1- n.
SCHEMA VARCHAR(128) NOT NULL Esquema de una tabla EXPLAIN que no se puede convertir al formato para la versión actual de Db2.
TBNAME VARCHAR(128) NOT NULL Nombre de una tabla de EXPLAIN que no se puede convertir al formato de la versión actual de Db2.
REASON VARCHAR(1000) NOT NULL Descripción de la razón por la que la tabla no se puede convertir al formato de la versión actual de Db2.
Finalizar la información de la interfaz de programación de uso general.