ADMIN_EXPLAIN_MAINT gespeicherte Prozedur
Mit der gespeicherten Prozedur ADMIN_EXPLAIN_MAINT können Sie EXPLAIN-Tabellen erstellen, die Tabellen auf das Format der aktuellen Db2 -Version aktualisieren und andere Verwaltungsaufgaben erledigen.
Weitere Informationen zu Verwaltungsaufgaben, die Sie für EXPLAIN-Tabellen mithilfe der gespeicherten Prozedur ADMIN_EXPLAIN_MAINT ausführen können, finden Sie in der Beschreibung des Aktions-Eingabeparameters.
Umgebung
Die gespeicherte Prozedur ADMIN_EXPLAIN_MAINT muss in einem von WLM eingerichteten Adressraum für gespeicherte Prozeduren ausgeführt werden.Berechtigung
Um die CALL-Anweisung auszuführen, muss der Eigentümer des Pakets oder Plans, das bzw. der die CALL-Anweisung enthält, über eine oder mehrere der folgenden Berechtigungen für jedes Paket verfügen, das von der gespeicherten Prozedur verwendet wird:- EXECUTE-Berechtigung für das gespeicherte Prozedurpaket
- Eigentum an dem Paket
- PACKADM-Behörde für die Paketsammlung
- Berechtigung SYSADM
Syntax
Das folgende Syntaxdiagramm zeigt die SQL-CALL-Anweisung zum Aufrufen dieser gespeicherten Prozedur:
Beschreibung der Optionen
- -Modus
- Gibt den Verarbeitungsmodus an. Dieser Eingabeparameter akzeptiert die folgenden Werte:
- Kopieren der Daten als Teil des Zurückspulens und Entladens (RUN)
- Ändern und erstellen Sie EXPLAIN-Tabellen für das angegebene SCHEMA.
- VORSCHAU
- Es werden keine Änderungen verarbeitet.
- aktion
- Gibt die Aktion an, die für die EXPLAIN-Tabellen im angegebenen Schema ausgeführt wird. Dieser Eingabeparameter akzeptiert die folgenden Werte:
- STANDARDISIERUNG
- Aktualisieren Sie alle vorhandenen EXPLAIN-Tabellen auf das Format der aktuellen Db2 -Version.
- STANDARDISIEREN_UND_ERSTELLEN
- Aktualisieren Sie alle vorhandenen EXPLAIN-Tabellen auf das Format der aktuellen Db2 -Version und erstellen Sie alle fehlenden Tabellen der Tabellen, die durch den Eingabeparameter "table-set" angegeben werden.
- CREATE
- Erstellen Sie einen neuen Satz von EXPLAIN-Tabellen im angegebenen Schema. Es werden nur Tabellen erstellt, die durch den Eingabeparameter "table-set" angegeben werden.
- CREATE_ALIAS
- Erstellen Sie nur einen neuen Satz von Aliasnamen. Die neuen Aliasnamen werden durch den Wert qualifiziert, der für den Eingabeparameter "Schema-Alias" angegeben wird.
- DROP
- Löschen Sie alle vorhandenen EXPLAIN-Tabellen und den zugehörigen Tabellenbereich.
- DROP_AND_CREATE
- Löschen Sie alle vorhandenen EXPLAIN-Tabellen und die zugehörigen Tabellenbereiche und erstellen Sie einen Ersatzsatz der Tabellen, die durch den Eingabeparameter „table-set“ angegeben sind.
- Alias verwalten
- Gibt an, ob Aliase für EXPLAIN-Tabellen erstellt werden sollen. Dieser Eingabeparameter akzeptiert die folgenden Werte:
- JA
- Die gespeicherte Prozedur erstellt Aliase, sodass alle EXPLAIN-Tabellen im angegebenen Schema Aliase haben, die den vorhandenen PLAN_TABLE-Aliasen entsprechen.
- NEIN
- Es werden keine Aliasse erstellt.
- gedeckter Tisch
- Gibt die Liste der zu erstellenden EXPLAIN-Tabellen an.
Wenn der Aktionswert CREATE ist, dürfen die angegebenen Tabellen noch nicht vorhanden sein. Dieser Eingabeparameter akzeptiert die folgenden Werte:
- 'table-name-1, table-name-2, ..., tabelle-name-n '
- Gibt eine explizite Liste der zu erstellenden Tabellen an.
- ALLE
- Alle EXPLAIN-Tabellen, die von den Beispieljobs DSNTESC und DSNTESH erstellt werden.
- ACCEL
- Nur die folgenden Tabellen:
- PLAN_TABLE
- DSN_STATEMNT_TABLE
- DSN_STATEMENT_CACHE_TABLE
- DSN_ABFRAGEINFO_TABELLE
- DIAGNOSTICS
- Nur die folgenden Tabellen:
- PLAN_TABLE
- DSN_STATEMNT_TABLE
- DSN_DETCOST_TABLE
- DSN_PRÄDIKAT_TABELLE
- DSN_FILTER_TABLE
- DSN_KALTISTABELLE
- DSN_KEYTGTDIST_TABELLE
- DSN_ABFRAGEINFO_TABELLE
- ALL_EXCEPT( table-name-1, table-name-2,..., tabelle-name-n )
- Alle Tabellen, die von den Beispielaufträgen DSNTESC und DSNTESH erstellt werden, mit Ausnahme der in der Liste angegebenen Tabellen.
Dieser Wert gilt nur, wenn Aktion einer der folgenden Werte ist:
- STANDARDISIEREN_UND_ERSTELLEN
- CREATE
- DROP_AND_CREATE
Der Datentyp dieses Eingabeparameters ist VARCHAR(1000). Wenn diese Option nicht angegeben wird, werden standardmäßig die folgenden EXPLAIN-Tabellen erstellt:
- PLAN_TABLE
- DSN_STATEMNT_TABLE
- DSN_STATEMENT_CACHE_TABLE
- authid
- Die Einstellung "CURRENT SQLID". Wenn diese Option nicht angegeben wird, wird der Wert des Spezialregisters CURRENT SQLID verwendet. Der Datentyp dieses erforderlichen Eingabeparameters ist VARCHAR(128).
- schema-Name
- Gibt den Schemanamen an, der die EXPLAIN-Tabellen qualifiziert. Wenn diese Option nicht angegeben wird, wird der Wert des Spezialregisters "CURRENT SCHEMA" verwendet. Der Datentyp dieses erforderlichen Eingabeparameters ist VARCHAR(128).
- schema-Alias
- Gibt den Schemanamen an, der Aliasse qualifiziert, die erstellt werden, wenn der Aktionswert CREATE_ALIAS lautet. Der Datentyp dieses Eingabeparameters ist VARCHAR(128). Dieser Eingabeparameter ist erforderlich, wenn der Aktionswert CREATE_ALIAS lautet.
- datenbankname
- Gibt die Datenbank an, die die neuen EXPLAIN-Tabellen enthält. Die gespeicherte Prozedur erstellt die Datenbank, falls sie nicht vorhanden ist. Der Datentyp dieses Eingabeparameters ist VARCHAR(8). Wenn diese Option nicht angegeben wird, werden die Namen der Datenbank und des Tabellenbereichs in den CREATE TABLE-Anweisungen für die EXPLAIN-Tabellen ausgelassen.
- stogroup-Datenbank
- Gibt die Speichergruppe für die Datenbank an, die die neuen EXPLAIN-Tabellen enthält. Der Datentyp dieses Eingabeparameters ist VARCHAR(128). Wenn diese Option nicht angegeben wird, wird das Schlüsselwort STOGROUP in der CREATE DATABASE-Anweisung ausgelassen, sofern die Datenbank noch nicht vorhanden ist.
- stogroup-index
- Gibt die Speichergruppe für die Indizes der neuen EXPLAIN-Tabellen an. Der Datentyp dieses Eingabeparameters ist VARCHAR(128). Wenn diese Option nicht angegeben wird, wird das Schlüsselwort USING STOGROUP in der CREATE INDEX-Anweisung ausgelassen.
- 4k-bufferpool
- Gibt den Namen des 4-KB-Seitenpufferpools an, der neuen Tabellenbereichen zugewiesen wird. Der Datentyp dieses Eingabeparameters ist VARCHAR(8). Wenn diese Option nicht angegeben wird, wird der Name des Tabellenbereichs in den CREATE TABLE-Anweisungen für die EXPLAIN-Tabellen ausgelassen.
- 8k-bufferpool
- Gibt den Namen des 8-KB-Seitenpufferpools an, der neuen Tabellenbereichen zugewiesen wird. Der Datentyp dieses Eingabeparameters ist VARCHAR(8). Wenn diese Option nicht angegeben wird, wird der Name des Tabellenbereichs in den CREATE TABLE-Anweisungen für die EXPLAIN-Tabellen ausgelassen.
- 16k-bufferpool
- Gibt den Namen des 16-KB-Seitenpufferpools an, der neuen Tabellenbereichen zugewiesen wird. Der Datentyp dieses Eingabeparameters ist VARCHAR(8). Wenn diese Option nicht angegeben wird, wird der Name des Tabellenbereichs in den CREATE TABLE-Anweisungen für die EXPLAIN-Tabellen ausgelassen.
- 32k-bufferpool
- Gibt den Namen des 32-KB-Seitenpufferpools an, der neuen Tabellenbereichen zugewiesen wird. Der Datentyp dieses Eingabeparameters ist VARCHAR(8). Wenn diese Option nicht angegeben wird, wird der Name des Tabellenbereichs in den CREATE TABLE-Anweisungen für die EXPLAIN-Tabellen ausgelassen.
- Index-Pufferpool
- Gibt den Namen des Pufferpools für die Indizes der neuen EXPLAIN-Tabellen an. Der Datentyp dieses Eingabeparameters ist VARCHAR(8). Wenn diese Option nicht angegeben wird, wird das Schlüsselwort BUFFERPOOL in der CREATE INDEX-Anweisung ausgelassen.
- bp-4kb-lob
- Gibt den Namen des 4-KB-Seitenpufferpools an, der neuen LOB-Tabellenbereichen für die neuen Hilfstabellen der neuen EXPLAIN-Tabellen zugewiesen wird. Der Datentyp dieses Eingabeparameters ist VARCHAR(8). Wenn diese Option nicht angegeben wird, wird das Schlüsselwort "BUFFERPOOL" in der CREATE LOB TABLESPACE-Anweisung ausgelassen.
- bp-8kb-lob
- Gibt den Namen des 8-KB-Seitenpufferpools an, der neuen LOB-Tabellenbereichen für die neuen Hilfstabellen der neuen EXPLAIN-Tabellen zugewiesen wird. Der Datentyp dieses Eingabeparameters ist VARCHAR(8). Wenn diese Option nicht angegeben wird, wird das Schlüsselwort "BUFFERPOOL" in der CREATE LOB TABLESPACE-Anweisung ausgelassen.
- bp-16kb-lob
- Gibt den Namen des 16-KB-Seitenpufferpools an, der neuen LOB-Tabellenbereichen für die neuen Hilfstabellen der neuen EXPLAIN-Tabellen zugewiesen wird. Der Datentyp dieses Eingabeparameters ist VARCHAR(8). Wenn diese Option nicht angegeben wird, wird das Schlüsselwort "BUFFERPOOL" in der CREATE LOB TABLESPACE-Anweisung ausgelassen.
- bp-32kb-lob
- Gibt den Namen des 32-KB-Seitenpufferpools an, der neuen LOB-Tabellenbereichen für die neuen Hilfstabellen der neuen EXPLAIN-Tabellen zugewiesen wird. Der Datentyp dieses Eingabeparameters ist VARCHAR(8). Wenn diese Option nicht angegeben wird, wird das Schlüsselwort "BUFFERPOOL" in der CREATE LOB TABLESPACE-Anweisung ausgelassen.
- Rückgabecode
- Ein Ausgabeparameter, der den Rückgabecode der gespeicherten Prozedur enthält. Das Feld enthält einen der folgenden Werte:
- 0
- Der Anruf wurde erfolgreich abgeschlossen.
- 4
- Eine oder mehrere vorhandene EXPLAIN-Tabellen sind nicht in Unicode. Die Tabellenformate werden auf das Format der aktuellen Db2 -Version aktualisiert. Die Tabellen werden jedoch nicht in Unicode konvertiert.
- 8
- Das Format einer oder mehrerer vorhandener EXPLAIN-Tabellen, die im Eingabeparameter des Tabellen-Sets enthalten waren, kann nicht auf das Format der aktuellen Db2 -Version aktualisiert werden, da das vorhandene Format keinem bekannten Format entspricht oder die Tabellen nicht durch eine ALTER TABLE-Anweisung geändert werden können.
- 12.
- Der Anruf wurde nicht erfolgreich abgeschlossen. Der Parameter "Message Output" enthält Meldungen, die den Fehler beschreiben.
- Nachricht
- Ein Ausgabeparameter, der Meldungen enthält, die Fehler beschreiben, die bei der gespeicherten Prozedur aufgetreten sind.
Das folgende Beispiel in der Programmiersprache C zeigt, wie die gespeicherte Prozedur ADMIN_EXPLAIN_MAINT aufgerufen wird:
#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;
}Ausgabe
Die gespeicherte Prozedur ADMIN_EXPLAIN_MAINT erstellt bis zu drei Ergebnismengen, die in den folgenden globalen temporären Tabellen zurückgegeben werden:
- SYSIBM.EXPLAIN_MAINT_SUMMARY
- Die Zusammenfassung der Aktionen, die von der gespeicherten Prozedur ausgeführt werden, wenn der Wert des Eingabeparameters "Modus" "RUN" ist. Wenn der Wert des Eingabeparameters "Modus" "VORSCHAU" lautet, werden in dieser Ergebnismenge die Aktionen zusammengefasst, aber die Aktionen werden nicht abgeschlossen. Die Werte der verschiedenen Spalten type_CREATED, type_ALTERED und type_DROPPED fassen die Anzahl der entsprechenden Anweisungen für jede Aktion in der SQL-Spalte der Ergebnismenge von SYSIBM.EXPLAIN_MAINT_SQL zusammen.
Tabelle 1. Format der SYSIBM.EXPLAIN_MAINT_SUMMARY -Ergebnismenge Spaltenname Datentyp Beschreibung DB_CREATED INTEGER NOT NULL Die Anzahl der erstellten Datenbanken. TS_ERSTELLT INTEGER NOT NULL Die Anzahl der erstellten Tabellenzeilen. TB_ERSTELLT INTEGER NOT NULL Die Anzahl der erstellten EXPLAIN-Tabellen. AUX_ERSTELLT INTEGER NOT NULL Die Anzahl der Hilfstabellen, die erstellt werden. IX_ERSTELLT INTEGER NOT NULL Die Anzahl der erstellten Indizes. ALIAS_ERSTELLT INTEGER NOT NULL Die Anzahl der erstellten Aliasnamen. TB_GEPRÜFT INTEGER NOT NULL Die Anzahl der EXPLAIN-Tabellen, die auf Formate untersucht wurden, die älter sind als das Format der aktuellen Db2 -Version. TB_VERÄNDERT INTEGER NOT NULL Die Anzahl der Tabellen, die geändert wurden, um das Format für die aktuelle Db2 -Version zu verwenden. TS_ABGEWIESEN INTEGER NOT NULL Die Anzahl der Tabellenbereiche, die gelöscht wurden. TB_ABGEWIESEN INTEGER NOT NULL Die Anzahl der EXPLAIN-Tabellen, die gelöscht werden. TB_UNERWARTETES_FORMAT INTEGER NOT NULL Die Anzahl der EXPLAIN-Tabellen, die keinem bekannten gültigen Format entsprechen. TB_NICHT_STANDARDISIERT INTEGER NOT NULL Die Anzahl der EXPLAIN-Tabellen, die nicht in das Format der aktuellen Db2 -Version konvertiert werden können. TB_NICHT_UNICODE INTEGER NOT NULL Die Anzahl der vorhandenen EXPLAIN-Tabellen, die in einer anderen CCSID als Unicode codiert sind. Solche Tabellen werden auf das Format der aktuellen Db2 -Version aktualisiert, aber die CCSID wird nicht in Unicode geändert. - SYSIBM.EXPLAIN_MAINT_SQL
- Eine Liste der SQL-Anweisungen, die die gespeicherte Prozedur ausgibt, wenn der Wert des Eingabeparameters "Modus" "RUN" ist. Wenn der Wert des Eingabep arameters "Modus" "PREVIEW" lautet, werden in dieser Ergebnismenge die Aktionen zusammengefasst, die Anweisungen werden jedoch nicht ausgegeben.
Tabelle 2. Format der SYSIBM.EXPLAIN_MAINT_SQL -Ergebnismenge Spaltenname Datentyp Beschreibung ROWNUM INTEGER NOT NULL Die laufende Nummer der Tabellenzeile, 1–n. SQL VARCHAR(16000) NICHT NULL Der Text einer SQL-Anweisung, die von der gespeicherten Prozedur ausgegeben wird, um EXPLAIN-Tabellen und zugehörige Objekte zu erstellen, zu ändern oder zu löschen. Tabellenbereichsnamen: Tabellenbereiche, die die gespeicherte Prozedur ADMIN_EXPLAIN_MAINT für EXPLAIN-Tabellen und zugehörige Hilfstabellen erstellt, haben Namen, die auf einer vierstelligen Abkürzung des Namens der zugehörigen Tabelle basieren, gefolgt von einer vierstelligen Zahl, die die Eindeutigkeit des Namens gewährleistet. Die Abkürzungen aus vier Buchstaben folgen keinem einheitlichen Muster in Bezug auf die verschiedenen Tabellennamen. Zum Beispiel wird PLANnnnn für PLAN_TABLE, STMTnnnn für DSN_STATEMNT_TABLE und SFEDnnnn für DSN_STAT_FEEDBACK verwendet.Die Namen der Tabellenbereiche, die durch die gespeicherte Prozedur erstellt werden, finden Sie in der Ergebnismenge von SYSIBM.EXPLAIN_MAINT_SQL.
- SYSIBM.EXPLAIN_MAINT_TB_NOT_UPGRADED
- Diese Ergebnismenge wird nur zurückgegeben, wenn der Wert des Aktions-Eingabeparameters STANDARDIZE oder STANDARDIZE_AND_CREATE ist und mindestens eine der folgenden Bedingungen erfüllt ist. Die Ergebnismenge enthält eine Zeile für jedes der folgenden Vorkommen:
- Die Tabelle wird mit einer anderen CSSID als Unicode erstellt. Solche Tabellen können auf das Format der aktuellen Db2 -Version aktualisiert werden. Die CCSID wird jedoch nicht in Unicode geändert.
- Das Format der Tabelle "EXPLAIN" entspricht keinem bekannten Format. Solche Tabellen werden nicht aktualisiert.
- ALTER TABLE-Anweisungen können keine Änderungen abschließen, die erforderlich sind, um eine Tabelle auf das Format der aktuellen Db2 -Version zu aktualisieren. Solche Tabellen werden nicht aktualisiert.
Tabelle 3. Format der SYSIBM.EXPLAIN_TMAIN_TB_NOT_UPGRADED -Ergebnismenge Spaltenname Datentyp Beschreibung ROWNUM INTEGER NOT NULL Die laufende Nummer der Tabellenzeile, 1–n. SCHEMA VARCHAR(128) NOT NULL Das Schema einer EXPLAIN-Tabelle, die nicht in das Format der aktuellen Version von Db2 konvertiert werden kann. TBNAME VARCHAR(128) NOT NULL Der Name einer EXPLAIN-Tabelle, die nicht in das Format der aktuellen Version von Db2 konvertiert werden kann. REASON VARCHAR(1000) NOT NULL Eine Beschreibung des Grundes, warum die Tabelle nicht in das Format der aktuellen Version von Db2 konvertiert werden kann.
