Appelez cette procédure mémorisée pour obtenir des recommandations pour la collection de statistiques sur les tables figurant dans un sous-système de mode nouvelles fonctions DB2 11 for z/OS. Cette procédure mémorisée peut remplir la table de catalogue SYSIBM.DSN_STAT_FEEDBACK avec des recommandations ou bien mettre à jour les profils RUNSTATS.
Avant de commencer
- Assurez-vous que la procédure mémorisée ADMIN_COMMAND_DB2 est installée et que le droit EXECUTE est donné aux ID qui appelleront la procédure mémorisée OPT_STAT_ADVICE
- Vérifiez que la procédure mémorisée DSNUTILU est installée et que le droit EXECUTE est donné aux ID qui appelleront la procédure mémorisée
- Assurez-vous que l'ensemble complet de fonctions d'optimisation est activé. L'étape 8 de cette liste de contrôle décrit comment effectuer cette activation.
- Vérifiez que le client IBM Data Studio, Version 4.1.0.1 est installé sur votre poste de travail. Les fichiers que vous allez télécharger dans la procédure ci-dessous se trouvent dans le répertoire d'installation du client.
Pourquoi et quand exécuter cette tâche
Pour collecter des statistiques en utilisant la procédure mémorisée OPT_STAT_ADVICE, assurez-vous que les prérequis sont respectés, configurez l'environnement WLM Java, téléchargez le fichier .jar qui contient la procédure mémorisée, téléchargez un module d'interrogation de base de données puis personnalisez et exécutez un travail JCL exemple.
Procédure
- Configurez l'environnement WLM Java, en spécifiant une valeur pour CLASSPATH qui pointe sur l'emplacement vers lequel vous voulez télécharger la procédure mémorisée. La procédure mémorisée peut s'exécuter sur Java 1.5 ou supérieur.
Un exemple de configuration de l'environnement WLM Java est présenté ci-dessous :
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)
- Téléchargez le fichier jar de module de chargement aocstatssp.jar.
- Sur votre poste de travail, ouvrez une fenêtre de commande.
- Placez-vous dans le dossier \QueryTunerServerConfig\all_features\ZOS\SCA du répertoire d'installation pour le client IBM Data Studio.
- Rejoignez le sous-système via FTP.
- Placez-vous dans le répertoire vers lequel pointe la variable WLM CLASSPATH.
- Passez en mode binaire.
- Placez le fichier JAR dans le répertoire.
- Téléchargez le module d'interrogation de base de données AOC5OSCM dans le sous-système. Ce module se trouve dans le répertoire d'installation pour le client IBM Data Studio sur \QueryTunerServerConfig\all_features\ZOS\V11.
- Personnalisez et exécutez le travail JCL exemple. Ce travail se trouve dans le répertoire d'installation pour le client IBM Data Studio sur
\QueryTunerServerConfig\all_features\ZOS\V11.
- Personnalisez l'étape AOCBIND. Cette étape lie les packages utilisés par InfoSphere Optim Query Workload Tuner.
- Personnalisez l'étape AOCSP. Cette étape crée la procédure mémorisée SYSPROC.OPT_STAT_ADVICE. Vous pouvez mettre en commentaire les lignes de création des procédures mémorisées SYSPROC.OPT_RUNSQL et SYSPROC.OPT_EXECUTE_TASK.
- Créez et remplissez une table répertoriant les tables pour lesquelles vous voulez des recommandations. Cette table peut être une table temporaire DGTT (Declared Global Temporary Table) ou une table normale. Elle doit comporter deux colonnes :
Tableau 1. Colonnes de la table permettant de répertorier les tables pour lesquelles vous voulez des recommandationsColonne
|
Type de données
|
Description
|
| CREATOR |
VARCHAR(128) |
Schéma d'une table pour laquelle vous voulez des recommandations. |
| NAME |
VARCHAR(128) |
Nom de la table correspondante. |
- Assurez-vous que l'instruction CALL fournit et accepte des valeurs pour ces paramètres.
Tableau 2. Paramètres pour la procédure mémorisée OPT_STAT_ADVICE Mode
|
Paramètre
|
Type de données
|
Valeur Null admise ? (O/N)
|
Description
|
| IN |
TABLECREATOR |
VARCHAR(128) |
O |
Schéma de la table répertoriant les tables pour lesquelles vous voulez des recommandations pour la collecte de statistiques. Si la valeur est NULL, la procédure mémorisée obtient des recommandations pour toutes les tables, les index correspondant et les colonnes sur tout le sous-système connecté.
|
| IN |
TABLENAME |
VARCHAR(128) |
O |
Table répertoriant les tables pour lesquelles vous voulez des recommandations pour la collecte de statistiques. Si TABLECREATOR est NULL, ce paramètre doit aussi être NULL.
Si TABLECREATOR n'est pas NULL alors que TABLENAME est NULL, la procédure mémorisée retourne un message d'erreur dans le paramètre OUTPUT_MESSAGE.
|
| IN |
OUTPUT_METHOD |
INTEGER |
N |
Méthode de sortie pour les recommandations relatives à la collecte de statistiques. Valeurs possibles :
1 : remplit la table de catalogue SYSIBM.DSN_STAT_FEEDBACK avec des statistiques dans la mémoire.
2 : met à jour directement les profils RUNSTATS.
La procédure mémorisée DSNACCOX détecte les changements dans les profils RUNSTATS puis démarre la collecte des statistiques selon un planning que vous pouvez définir.
Si vous voulez utiliser la procédure mémorisée OPT_STAT_ADVICE en même temps que DSNACCOX, spécifiez “2” comme valeur pour le paramètre d'entrée OUTPUT_METHOD quand vous appelez OPT_STAT_ADVICE. Après la mise à jour des profils RUNSTATS par cette procédure mémorisée, DSNACCOX détecte les mises à jour et démarre la collecte des statistiques en fonction du planning.
|
| IN |
RESERVED |
INTEGER |
O |
Réservé |
| OUT |
RETURN_CODE |
INTEGER |
|
Valeur retournée par la procédure mémorisée Valeurs possibles :
0 : terminé normalement.
4 : terminé avec avertissements. Les messages d'avertissement se trouvent dans le paramètre OUTPUT_MESSAGE.
8 : terminé avec erreurs - échec. Les messages d'erreur sont inclus dans le paramètre OUTPUT_MESSAGE.
|
| OUT |
RESERVED |
BLOB(64k) |
|
Réservé
|
| OUT |
OUTPUT_MESSAGE |
VARCHAR(4096) |
|
Messages retournés par la procédure mémorisée. La valeur est NULL si le code retour est 0.
Sinon, le paramètre répertorie les messages d'erreur ou d'avertissement qui ont été générés par la procédure mémorisée.
|
Exemple
Cet exemple d'appel de procédure mémorisée utilise une table DGTT .
- Créez une table temporaire DGTT (Declared Global Temporary Table) pour générer des recommandations pour la collection de statistiques.
DECLARE GLOBAL TEMPORARY TABLE SESSION.STAT_COLL_TABLE (
CREATOR VARCHAR(128),
NAME VARCHAR(128)
) ON COMMIT PRESERVE ROWS;
- Entrez des données dans la table DGTT.
INSERT INTO SESSION.STAT_COLL_TABLE (CREATOR, NAME) VALUES (…...);
- Appelez la procédure mémorisée.
CALL DB2OE.OPT_STAT_ADVICE (
'SESSION',
'STAT_COLL_TABLE',
'2',
?,
?,
?
);
Le code exemple JCL ci-dessous montre comment appeler cette interface avec DSNTEP2 :
//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',
?,
?,
?
);
Que faire ensuite
Si la procédure mémorisée rapporte une erreur, définissez les répertoires pour les paramètres JavaOut et JavaErr. Vérifiez que votre ID d'autorisation possède le privilège de lecture et d'écriture sur ces répertoires. Démarrez ensuite une procédure de trace. Appelez à nouveau la procédure mémorisée. Si l'erreur se produit à nouveau, collectez les fichiers qui ont été générés dans les répertoires JavaOut et JavaErr. Contactez le support IBM et envoyez ces fichiers en suivant les instructions données par votre responsable de support.