Scénario : Création et configuration d'un référentiel pour l'exécution pureQuery

Vous utilisez l'utilitaire pureQuery ManageRepository pour créer et gérer un référentiel qui se trouve dans la base de données de transactions. Une fois le référentiel créé, vous chargez les propriétés de l'exécution pureQuery dans le référentiel.

Pourquoi et quand exécuter cette tâche

Vous utilisez l'utilitaire pureQuery ManageRepository pour effectuer les tâches suivantes :
  • Créer un référentiel qui se trouve dans la base de données de transactions afin de stocker les propriétés de l'exécution pureQuery.

    Lorsque le référentiel se trouve dans la base de données de transactions, le référentiel tire profit de la base de données de transactions en terme de sauvegarde et de maintenance.

  • Configurer le référentiel afin d'utiliser l'application WebSphere :
    • Créer la version du groupe d'exécution dans le référentiel.
    • Charger les propriétés d'exécution de pureQuery dans le référentiel pour la version du groupe d'exécution.

      Le stockage des propriétés de l'exécution pureQuery dans un référentiel vous permet de spécifier les propriétés de l'exécution pureQuery de façon centralisée et de les modifier si nécessaire. Vous utilisez la fonctionnalité de régénération automatique de l'exécution pureQuery en définissant la propriété d'exécution pureQuery refreshInterval. Définir la propriété refreshInterval permet à l'exécution pureQuery de régénérer automatiquement les propriétés d'exécution. A l'aide de la régénération automatique, un administrateur de base de données peut modifier les propriétés d'exécution pureQuery afin de contrôler l'instruction SQL émise par l'application.

    • Activez la version de groupe d'exécution qui est associée à l'application afin d'activer l'exécution pureQuery pour utiliser la version du groupe d'exécution.

L'application Web WebSphere qui est activée avec l'optimisation client pureQuery utilisera les informations contenues dans la version du groupe d'exécution du référentiel.

Procédure

Pour créer et configurer un référentiel pour l'exécution de pureQuery :

  1. Créez le référentiel dans la base de données de transactions.
    Lancez l'utilitaire ManageRepository avec l'option -create repository. La commande suivante crée un référentiel :
    java com.ibm.pdq.tools.ManageRepository -create repository 
      -repositoryDriverClass com.ibm.db2.jcc.DB2Driver 
      -repositoryURL "jdbc:db2://testserver.test.com:32706/sample" 
      -repositoryUsername "myuser" -repositoryPassword "mypwd" 
      -repositoryType pureQueryRuntimeOnly
    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 "repository"
    -repositoryURL "jdbc:db2://testserver.test.com:32706/sample" 
    -repositoryUsername "****" -repositoryPassword "*****" 
    -repositoryDriverClass "com.ibm.db2.jcc.DB2Driver" 
    -repositoryType "pureQueryRuntimeOnly"
    
    L'utilitaire ManageRepository a créé le référentiel avec succès.
    L'option -repositoryType a été définie en tant que pureQueryRuntimeOnly pour créer un référentiel léger destiné uniquement à l'utilisation de l'exécution pureQuery.
    Conseil : Vous pouvez utiliser l'option -generateScriptOnly avec la commande ManageRepository pour générer un script SQL qui contient les instructions SQL permettant de créer un référentiel mais ne le crée pas. Vous pouvez modifier le script pour placer les tables dans leurs propres espaces table au lieu de les placer dans l'espace table par défaut. Cependant, vous ne pouvez pas modifier le nom du schéma, le nom des tables ou des colonnes.

    Si vous créez un référentiel en utilisant un script, vous pouvez utiliser l'option -verify repository pour vérifier que la structure du référentiel est correcte.

  2. Créez la version du groupe d'exécution dans le référentiel.

    Créez un groupe d'exécution avec l'ID testApp et l'ID de version V1. Lorsque vous créez un groupe d'exécution, vous devez également spécifier une version.

    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 V1 
    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 "V1" 
      -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 "V1".

    Le testApp de l'ID de groupe est le même que la valeur que vous spécifierez pour la propriété d'exécution pureQuery propertiesGroupId en créant la propriété de source de données personnalisée pdqProperties sur la source de données WebSphere.

  3. Créez un fichier contenant les propriétés d'exécution pureQuery.
    Créez un fichier pqtest.properties dans le répertoire en cours du système de fichiers local avec la valeur de la propriété d'exécution pureQuery captureMode définie sur ON. Le fichier contient les lignes de texte suivantes :
    pdq.captureMode=ON
    pdq.allowDynamicSQL=TRUE

    Lorsque vous spécifiez les propriétés d'exécution pureQuery dans un fichier de propriétés, vous ajoutez le préfixe pdq. aux noms de propriétés.

    Lorsque la valeur de la propriété captureMode est ON et que les propriétés outputPureQueryXml et outputXmlRepository ne sont pas définies, l'exécution pureQuery stocke les données SQL capturées dans le référentiel qui est spécifié par la propriété pureQuery finalRepositoryProperties. Dans le référentiel, les données sont enregistrées dans la version active du groupe d'exécution qui est spécifié par la propriété pureQuery propertiesGroupId.

    La valeur par défaut de la propriété d'exécution pureQuery allowDynamicSQL est TRUE et n'est pas requise dans le fichier de propriétés. Placer la propriété dans le fichier permet de se souvenir de la valeur par défaut. Par défaut, l'exécution pureQuery permet aux instructions SQL lancées par l'application d'être exécutées dynamiquement même si l'instruction SQL n'a pas été capturée précédemment.

  4. Chargez les propriétés d'exécution pureQuery dans le répertoire.
    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 -runtimeGroupVersion V1
    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 "*****" -repositoryPassword "****" 
    -repositoryDriverClass "com.ibm.db2.jcc.DB2Driver"
    -pureQueryProperties "./pqtest.properties" 
    -runtimeGroupId "testApp" 
    
    L'utilitaire ManageRepository a correctement mis à jour le groupe d'exécution "testApp"
    version "V1".
  5. Activez le groupe d'exécution version V1 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 V1
    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 "V1" -repositoryURL "jdbc:db2://testserver.test.com:32706/sample" 
    -repositoryUsername "*****"  -repositoryPassword "*****" 
    -pureQueryProperties "./pqtest.properties" 
    -runtimeGroupId "testApp" 
    
    L'utilitaire ManageRepository a correctement activé le groupe d'exécution "testApp"
    version "V1".

Résultats

Vous avez créé un référentiel et ajouté les propriétés d'exécution pureQuery à une version de groupe d'exécution dans le référentiel. Vous avez également activé la version de groupe d'exécution dans le référentiel afin de permettre à l'exécution pureQuery de récupérer les propriétés pour le groupe d'exécution à partir du référentiel.

Lorsque vous exécutez l'application, l'exécution pureQuery capture les instructions SQL lancées par l'application ainsi que les données associées aux instructions SQL. Le processus de capture crée de nouveaux enregistrements dans le référentiel, qui contiennent les informations de capture.

Que faire ensuite

Dans la nouvelle tâche, vous configurez WebSphere Application Server pour qu'il utilise le référentiel et les données pureQuery du référentiel lorsque vous exécutez l'application. Lorsque vous configurez l'exécution pureQuery afin de récupérer des informations pureQuery à partir d'un référentiel, vous spécifiez le groupe d'exécution. L'exécution pureQuery récupère les informations à partir de la version active du groupe d'exécution.


Commentaires