Après avoir créé des modules contenant des instructions SQL sur
la base de données de transactions et lié les modules, vous mettez à jour les
propriétés d'exécution pureQuery et les données pureQueryXML dans le référentiel
afin de permettre à l'application d'exécuter des instructions SQL de façon
statique.
Lorsque l'application régénère les propriétés pureQuery, les
instructions SQL sont exécutées dynamiquement.
Pourquoi et quand exécuter cette tâche
Vous utilisez l'utilitaire ManageRepository pour mettre à jour les
données dans le groupe d'exécution et créer une version dans le référentiel. Vous
effectuez les actions suivantes :
- Chargez les données dans le fichier pureQueryXML.
- Mettez à jour les propriétés d'exécution pureQuery.
- Activez la version du groupe d'exécution dans le référentiel.
Procédure
Pour mettre à jour les propriétés d'exécution pureQuery afin
d'exécuter les instructions SQL de façon statique :
- Mettez à jour la version locale du fichier
pqtest.properties et définissez la valeur de la propriété
executionMode par STATIC.
Le fichier contient le texte suivant :
pdq.captureMode=ON
pdq.allowDynamicSQL=TRUE
pdq.executionMode=STATIC
A l'aide des paramètres d'exécution pureQuery, l'application exécute les
instructions SQL de façon statique si celles-ci se trouvent dans le fichier pureQueryXML. Si
l'application exécute une instruction SQL qui ne figure pas dans le fichier
pureQueryXML, les instructions sont capturées et exécutées dynamiquement.
- Créez une version du groupe d'exécution dans le référentiel.
Créez la version V2 du groupe d'exécution testApp. Vous chargerez les propriétés
d'exécution pureQuery et les données pureQueryXML dans le référentiel.
La commande ManageRepository suivante crée la version du groupe d'exécution :
java com.ibm.pdq.tools.ManageRepository -create runtimeGroup
-repositoryDriverClass com.ibm.db2.jcc.DB2Driver
-repositoryURL "jdbc:db2://testserver.test.com:32706/sample"
-repositoryUsername "myuser" -repositoryPassword "mypwd"
-runtimeGroupId testApp
-runtimeGroupVersion V2
Le résultat de la commande est similaire à l'exemple suivant :
IBM Optim pureQuery runtime 2.2.0.3 build 2.18.118
Licensed Materials - Property of IBM
5724-U16
(c) Copyright IBM Corp. 2006, 2010 All Rights Reserved.
=========================================================
Démarrage des options de processus : -create "runtimeGroup"
-bind "packages" -runtimeGroupVersion "V2"
-repositoryURL "jdbc:db2://testserver.test.com:32706/sample"
-repositoryUsername "myuser" -repositoryPassword "******"
-repositoryDriverClass "com.ibm.db2.jcc.DB2Driver"
-runtimeGroupId "testApp"
L'utilitaire ManageRepository a correctement créé le groupe d'exécution "testApp"
version "V2".
- Mettez à jour la version du groupe d'exécution dans le référentiel à l'aide des
données des fichiers pqtest.properties et pureQueryXML.
Exécutez la commande suivante :
java com.ibm.pdq.tools.ManageRepository
-update runtimeGroup
-repositoryDriverClass com.ibm.db2.jcc.DB2Driver
-repositoryURL "jdbc:db2://testserver.test.com:32706/sample"
-repositoryUsername "myuser" -repositoryPassword "mypwd"
-runtimeGroupId testApp
-pureQueryProperties ./pqtest.properties
-pureQueryXml ./testApp.pdqxml
-runtimeGroupVersion V2
Le résultat de la commande est similaire à l'exemple suivant :
IBM Optim pureQuery Runtime 2.2.0.3 build 2.18.118
Licensed Materials - Property of IBM
5724-U16
(c) Copyright IBM Corp. 2006, 2010 All Rights Reserved.
===================================================
Démarrage des options de processus : -update "runtimeGroup"
-runtimeGroupVersion "v1"
-repositoryURL "jdbc:db2://testserver.test.com:32706/sample"
-repositoryUsername "*****" –repositoryPasword "*****"
-pureQueryProperties ".\pqtest.properties"
-pureQueryXml "capture.pdqxml"
-runtimeGroupId "testApp"
L'utilitaire ManageRepository a correctement mis à jour le groupe d'exécution "testApp"
version "V2".
- Activez la version V2 dans le groupe d'exécution testApp.
Exécutez la commande suivante :
java com.ibm.pdq.tools.ManageRepository -activate runtimeGroup
-repositoryDriverClass com.ibm.db2.jcc.DB2Driver
-repositoryURL "jdbc:db2://testserver.test.com:32706/sample"
-repositoryUsername "myuser"
-repositoryPassword "mypwd"
-runtimeGroupId testApp
-runtimeGroupVersion V2
Lorsque vous activez la version V2, la version V1 est automatiquement
désactivée. L'exécution pureQuery récupérera les informations pureQuery à
partir de la version active du groupe d'exécution dans le référentiel.
Le résultat de la commande est similaire à l'exemple suivant :
IBM Optim pureQuery Runtime 2.2.0.3 build 2.18.118
Licensed Materials - Property of IBM
5724-U16
(c) Copyright IBM Corp. 2006, 2010 All Rights Reserved.
========================================
Démarrage des options de processus : -activate
"runtimeGroup" -runtimeGroupVersion "V2"
-repositoryURL "jdbc:db2://testserver.test.com:32706/sample"
-repositoryUsername "*****" -repositoryPassword "*****"
-runtimeGroupId "testApp"
L'utilitaire ManageRepository a correctement activé le groupe d'exécution "testApp"
version "V2".
Résultats
La propriété de l'intervalle de régénération de l'exécution pureQuery
propertiesRefreshInterval a été définie à deux minutes pour cette
application. Une fois les deux minutes écoulées, les propriétés d'exécution
pureQuery mises à jour prennent effet. Avec la valeur de la propriété
executionMode définie par STATIC, l'application
exécute les instructions SQL de façon statique.
Dans la version V2 du groupe
d'exécution testApp, la propriété d'exécution pureQuery captureMode
est définie par ON.
L'exécution pureQuery continue de capturer des données SQL à partir de l'application.
Si vous n'avez pas capturé toutes les instructions SQL à partir de l'application,
vous pouvez extraire les données SQL et pureQueryXML capturées et répéter le
processus de fusion, de configuration et de liaison des instructions SQL et
charger ensuite le fichier pureQueryXML mis à jour dans le référentiel.
Les
données pureQuery dans la version V1 du groupe d'exécution testApp ne sont pas
modifiées.
Vous pouvez activer la version V1 pour revenir aux paramètres précédents de
l'exécution pureQuery.
Remarque : Une méthode permettant de déterminer si les
instructions SQL sont exécutées de façon statique consiste à supprimer le module. Si
vous supprimez le module TESTAPP de la base de données, l'application ne parviendra
pas à exécuter les instructions SQL qui sont répertoriées dans le fichier
pureQueryXML.
Si vous exécutez l'utilitaire StaticBinder avec le fichier pureQueryXML pour
recréer le module, l'application exécutera les instructions SQL de façon statique.
Vous pouvez également utiliser un outil de contrôle de base de données tel que
Tivoli
OMEGAMON XE for
DB2 sur
z/OS pour vérifier que l'instruction SQL
s'exécute de façon statique.
Que faire ensuite
Ce jeu de tâches montre comment une application
WebSphere peut être configurée
avec l'optimisation client pureQuery et comment un référentiel de base de
données peut être utilisé pour stocker des propriétés d'exécution pureQuery et
des données SQL capturées pureQuery.