Rufen Sie diese gespeicherte Prozedur auf, um Empfehlungen für die Erfassung von Statistikdaten in Tabellen in einem DB2 11 for z/OS-Subsystem, Modus für neue Funktion (NFM), abzurufen. Die gespeicherte Prozedur kann entweder die Katalogtabelle SYSIBM.DSN_STAT_FEEDBACK mit Empfehlungen auffüllen oder RUNSTATS-Profile aktualisieren.
Vorbereitende Schritte
- Stellen Sie sicher, dass die gespeicherte Prozedur ADMIN_COMMAND_DB2 installiert ist und den IDs, die die gespeicherte Prozedur OPT_STAT_ADVICE aufrufen werden, das Zugriffsrecht EXECUTE erteilt wurde.
- Stellen Sie sicher, dass die gespeicherte Prozedur DSNUTILU installiert ist und den IDs, die die gespeicherte Prozedur OPT_STAT_ADVICE aufrufen werden, das Zugriffsrecht EXECUTE erteilt wurde.
- Stellen Sie sicher, dass die komplette Gruppe von Optimierungsfeatures aktiviert ist. Schritt 8 in dieser Checkliste beschreibt, wie diese Aktivierung ausgeführt wird.
- Stellen Sie sicher, dass der IBM Data Studio-Client Version 4.1.0.1 auf Ihrer Workstation installiert ist. Dateien, die Sie im Rahmen der nachfolgenden Prozedur hochladen, werden im Installationsverzeichnis des Clients gespeichert.
Informationen zu diesem Vorgang
Wenn Sie Statistikdaten mit der gespeicherten Prozedur OPT_STAT_ADVICE erfassen wollen, stellen Sie sicher, dass die Voraussetzungen erfüllt sind, richten Sie die WLM Java-Umgebung ein, laden Sie die JAR-Datei hoch, die die gespeicherte Prozedur enthält, laden Sie
ein DBRM hoch und passen Sie dann einen JCL-Beispieljob an und führen Sie ihn aus.
Vorgehensweise
- Richten Sie die WLM Java-Umgebung ein und geben Sie dabei einen Wert für CLASSPATH an, der auf die Speicherposition verweist, in die Sie die gespeicherte Prozedur hochladen wollen. Die gespeicherte Prozedur kann unter Java 1.5 oder höher ausgeführt werden.
Es folgt ein Beispiel, wie die WLM Java-Umgebung eingerichtet werden kann:
ENVAR("CLASSPATH=/u/admf001/aocstatssp.jar",
"TZ=PST08",
"JAVA_HOME=/usr/lpp/java160/J6.0",
"WORK_DIR=/u/oeusr05/JavaSP",
"JCC_HOME=/usr/lpp/db2/devbase/jdbc",
"DB2_BASE=/usr/lpp/db2/devbase/base"),
MSGFILE(JSPDEBUG),
XPLINK(ON)
- Laden Sie die JAR-Datei des Lademoduls aocstatssp.jar hoch.
- Öffnen Sie auf Ihrer Workstation ein Befehlsfenster.
- Wechseln Sie zum Ordner \QueryTunerServerConfig\all_features\ZOS\SCA im Installationsverzeichnis für den IBM Data Studio-Client.
- Navigieren Sie über FTP zum Subsystem.
- Wechseln Sie in das Verzeichnis, auf das die WLM-Variable CLASSPATH verweist.
- Wechseln Sie in den Binärmodus.
- Speichern Sie die JAR-Datei im Verzeichnis.
- Laden Sie das DBRM AOC5OSCM in das Subsystem hoch. Dieses DBRM befindet sich im Installationsverzeichnis für den
IBM Data Studio-Client unter \QueryTunerServerConfig\all_features\ZOS\V11.
- Passen Sie den Beispiel-JCL-Job AOCDDL11 an und führen Sie ihn aus. Dieser Beispieljob befindet sich im Installationsverzeichnis für den IBM Data Studio-Client unter
\QueryTunerServerConfig\all_features\ZOS\V11.
- Passen Sie den Schritt AOCBIND an. In diesem Schritt werden Pakete gebunden, die von InfoSphere Optim
Query Workload Tuner verwendet werden.
- Passen Sie den Schritt AOCSP an. In diesem Schritt wird die gespeicherte Prozedur
SYSPROC.OPT_STAT_ADVICE erstellt. Sie können die Zeilen zum Erstellen der gespeicherten Prozeduren SYSPROC.OPT_RUNSQL und SYSPROC.OPT_EXECUTE_TASK auf Kommentar setzen.
- Erstellen Sie eine Tabelle, in der die Tabellen aufgelistet sind, die für die Sie Empfehlungen wünschen, und füllen Sie sie auf. Diese Tabelle kann als globale temporäre Tabelle (DGTT - Global Temporary Table) oder als reguläre Tabelle deklariert werden. Sie muss zwei Spalten enthalten:
Tabelle 1. Spalten der Tabelle zum Auflisten der Tabellen, für die Sie Empfehlungen wünschenSpalte
|
Datentyp
|
Beschreibung
|
| CREATOR |
VARCHAR(128) |
Das Schema einer Tabelle, für die Sie Empfehlungen wollen. |
| NAME |
VARCHAR(128) |
Der Name der entsprechenden Tabelle. |
- Stellen Sie sicher, dass die Anweisung CALL Werte für diese Parameter bereitstellt und akzeptiert.
Tabelle 2. Parameter der gespeicherten Prozedur OPT_STAT_ADVICE Modus
|
Parameter
|
Datentyp
|
Dateneingabe optional? (J/N)
|
Beschreibung
|
| IN |
TABLECREATOR |
VARCHAR(128) |
J |
Schema der Tabelle, die die Tabellen auflistet, für die Sie Empfehlungen zur Statistikdatenerfassung wollen. Wenn der Wert NULL ist, ruft die gespeicherte Prozedur Empfehlungen für alle Tabellen, dazugehörige Indizes und Spalten über das gesamte verbundene Subsystem hinweg ab.
|
| IN |
TABLENAME |
VARCHAR(128) |
J |
Tabelle, die die Tabellen auflistet, für die Sie Empfehlungen zur Statistikdatenerfassung wollen. Wenn TABLECREATOR NULL ist, muss dieser Parameter ebenfalls NULL sein.
Wenn TABLECREATOR nicht NULL ist, aber TABLENAME NULL ist, gibt die gespeicherte Prozedur eine Fehlernachricht im Parameter OUTPUT_MESSAGE
zurück.
|
| IN |
OUTPUT_METHOD |
INTEGER |
N |
Ausgabemethode für Empfehlungen zur Statistikdatenerfassung. Mögliche Werte:
1:
Die Katalogtabelle SYSIBM.DSN_STAT_FEEDBACK mit speicherinternen Statistikdaten auffüllen.
2: RUNSTATS-Profile direkt aktualisieren.
Die gespeicherte Prozedur DSNACCOX entdeckt Änderungen an RUNSTATS-Profilen
und startet dann die Erfassung von Statistiken gemäß einem Terminplan, den Sie festlegen können.
Wenn Sie die gespeicherte Prozedur OPT_STAT_ADVICE zusammen mit DSNACCOX verwenden wollen, geben Sie beim Aufrufen von OPT_STAT_ADVICE "2" als Wert
für den Eingabeparameter OUTPUT_METHOD an. Nachdem diese gespeicherte Prozedur RUNSTATS-Profile aktualisiert, entdeckt DSNACCOX die Aktualisierungen und beginnt mit der Statistikdatenerfassung gemäß ihrem Terminplan.
|
| IN |
RESERVED |
INTEGER |
J |
Reserviert |
| OUT |
RETURN_CODE |
INTEGER |
|
Rückgabewert der gespeicherten Prozedur Mögliche Werte:
0: erfolgreich abgeschlossen.
4: Mit Warnungen abgeschlossen. Die Warnnachrichten sind im Parameter OUTPUT_MESSAGE.
8: Mit Fehlern fehlgeschlagen. Die Fehlernachrichten sind im Parameter OUTPUT_MESSAGE.
|
| OUT |
RESERVED |
BLOB(64k) |
|
Reserviert
|
| OUT |
OUTPUT_MESSAGE |
VARCHAR(4096) |
|
Die von der gespeicherten Prozedur zurückgegebenen Nachrichten. Der Wert ist NULL, wenn der Rückgabecode 0 ist.
Andernfalls listet der Parameter Fehler- oder Warnnachrichten auf, die von der gespeicherten Prozedur generiert wurden.
|
Beispiel
Dieses Beispiel eines Aufrufs der gespeicherten Prozedur verwendet eine DGTT.
- Erstellen Sie eine DGTT zur Speicherung einer Liste von Tabellen, für die Empfehlungen für die Erfassung von Statistikdaten generiert werden sollen.
DECLARE GLOBAL TEMPORARY TABLE SESSION.STAT_COLL_TABLE (
CREATOR VARCHAR(128),
NAME VARCHAR(128)
) ON COMMIT PRESERVE ROWS;
- Füllen Sie die DGTT mit Daten auf.
INSERT INTO SESSION.STAT_COLL_TABLE (CREATOR, NAME) VALUES (…...);
- Rufen Sie die gespeicherte Prozedur auf.
CALL DB2OE.OPT_STAT_ADVICE (
'SESSION',
'STAT_COLL_TABLE',
'2',
?,
?,
?
);
Die nachfolgende Beispieljobsteuersprache zeigt, wie diese Schnittstelle mit DSNTEP2 aufgerufen wird:
//STEP01 EXEC TSOBATCH,DB2LEV=DB2A
//SYSTSIN DD *
DSN S(VA1A) R(1) T(1)
RUN PROGRAM(DSNTEP2) PLAN(DSNTEP2) PARM('NOMIXED')
END
//SYSIN DD *
DECLARE GLOBAL TEMPORARY TABLE SESSION.STAT_COLL_TABLE (
CREATOR VARCHAR(128),
NAME VARCHAR(128)
) ON COMMIT PRESERVE ROWS;
INSERT INTO SESSION.STAT_COLL_TABLE (CREATOR, NAME) VALUES (…...);
CALL DB2OE.OPT_STAT_ADVICE (
'SESSION', 'STAT_COLL_TABLE',
'2',
?,
?,
?
);
Nächste Schritte
Wenn die gespeicherte Prozedur einen Fehler meldet, müssen Sie Verzeichnisse für die JavaOut- und JavaErr-Parameter definieren. Stellen Sie sicher, dass Ihre Berechtigungs-ID das Zugriffsrecht zum Lesen und Schreiben für diese Verzeichnisse hat. Starten Sie dann einen Trace. Rufen Sie die gespeicherte Prozedur erneut auf. Wenn der Fehler auftritt, sammeln Sie die Dateien, die in den JavaOut- und JavaErr-Verzeichnissen generiert wurden. Wenden Sie sich an den IBM Support und senden Sie die Dateien gemäß den Anweisungen Ihres Supportmitarbeiters.