Aller au contenu

Commande CL IBM i (AS/400)

CHGQRYA

Modifier attributs de requête

En bref

La commande CHGQRYA (Modifier attributs de requête) indique les attributs à associer aux requêtes de base de données et aux constructions et reconstructions, et à la maintenance des chemins d'accès sur clé de fichiers base de données qui sont exécutés dans un travail.

CHGQRYA se lit CHG (Modifier) + QRYA. Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.

Syntaxe minimale

CHGQRYA

Paramètres

  • JOB Travail
  • QRYTIMLMT Limite durée de traitement
  • DEGREE Degré de traitement parallèle
  • ASYNCJ Utilisation travail asynchrone
  • APYRMT Action sur systèmes éloignés
  • QRYOPTLIB Biblio fichier options requête
  • QRYSTGLMT Interrog limite mémoire temp

Astuce : dans une session 5250, tapez CHGQRYA puis F4 pour l'invite de saisie, et F1 sur un paramètre pour son aide.

Aide IBM i de la commande

Texte du F1, IBM i 7.5 en français (bibliothèque QSYS)

Où s'exécute : Tous les environnements (*ALL)
Compatible multitâche : Oui

La commande CHGQRYA (Modifier attributs de requête) indique les attributs à associer aux requêtes de base de données et aux constructions et reconstructions, et à la maintenance des chemins d'accès sur clé de fichiers base de données qui sont exécutés dans un travail. Les requêtes de base de données comprennent l'ouverture d'une vue SQL et l'exécution d'instructions de gestion de données SQL.

Restrictions :

  • Pour pouvoir utiliser cette commande, vous devez disposer des droits spéciaux d'exploitation des travaux (*JOBCTL) ou être autorisé à utiliser la fonction d'administrateur SQL d'IBM i via l'administration d'applications de System i Navigator. La commande CHGFCNUSG, exécutée avec un ID fonction QIBM_DB_SQLADM, peut également être utilisée pour modifier la liste des utilisateurs autorisés.

Paramètres

Mot-clé Description Valeurs possibles Remarques
JOB Travail Valeurs uniques: *
Autres valeurs: Nom de travail qualifié
Facultatif, clé
Qualificatif 1: Travail Nom
Qualificatif 2: Utilisat Nom
Qualificatif 3: Numéro 000000-999999
QRYTIMLMT Limite durée de traitement 0-2147352578, *SAME, *NOMAX, *SYSVAL Facultatif
DEGREE Degré de traitement parallèle Valeurs uniques: *SAME, *NONE, *IO, *OPTIMIZE, *MAX, *SYSVAL, *ANY
Autres valeurs: Liste d'éléments
Facultatif
Élément 1: Option de traitement *NBRTASKS
Élément 2: Nombre de tâches 2-9999
ASYNCJ Utilisation travail asynchrone *SAME, *DIST, *LOCAL, *ANY, *NONE Facultatif
APYRMT Action sur systèmes éloignés *SAME, *YES, *NO Facultatif
QRYOPTLIB Biblio fichier options requête Nom, *SAME Facultatif
QRYSTGLMT Interrog limite mémoire temp 0-2147352578, *SAME, *NOMAX Facultatif

Travail (JOB)

Indiquez le travail pour lequel les attributs de requête doivent être modifiés.

Valeurs uniques

*
L'attribut de requête du travail exécutant la commande CHGQRYA doit être modifié.

Qualificatif 1 : Travail

nom
Indiquez le nom du travail pour lequel les attributs de requête doivent être modifiés. Si aucun nom d'utilisateur du travail ni aucun qualificatif de travail n'est indiqué, le nom du travail non qualifié est recherché dans tous les travaux en cours sur le système. Si plusieurs copies du travail recherché sont trouvées, vous devez indiquer un nom d'utilisateur du travail ou un numéro de travail pour identifier formellement le travail à modifier.

Qualificatif 2 : Utilisat

nom
Indiquez le nom de l'utilisateur du travail dont les attributs de requête doivent être modifiés.

Qualificatif 3 : Numéro

000000 à 999999
Indiquez le numéro du travail dont les attributs de requête doivent être modifiés.

Limite durée de traitement (QRYTIMLMT)

Indique la limite d'une requête que vous pouvez lancer sur une base de données selon le nombre estimé de secondes que nécessite le traitement de cette requête.

La valeur initiale de l'attribut QRYTIMLMT pour un travail est *SYSVAL.

*SAME
La valeur reste inchangée.
*NOMAX
Le nombre maximal de secondes de traitement estimées n'est pas défini.
*SYSVAL
La limite de durée du traitement de la requête doit être obtenue à partir de la valeur système QQRYTIMLMT.
0 à 2147352578
Indiquez la valeur maximale qui sera comparée au nombre estimé de secondes nécessaires au traitement d'une requête. Si le nombre estimé est supérieur à cette valeur, la requête n'est pas lancée.

Lorsque la valeur est 0, toutes les requêtes de base de données génèrent le message d'interrogation CPA4259 ou appellent un programme d'exit, si elles sont connectées au point d'exit de la fonction de régulation. La valeur 0 pour le délai de traitement d'une requête peut être utile lors du réglage des performances des requêtes. La description technique du message d'interrogation CPA4259 ou le moniteur de base de données, s'ils sont activés à l'aide du paramètre FTRQRYGOVR ou de la commande STRDBMON (Démarrer le moniteur de base de données), permettent de préciser le type de plan d'accès utilisé par la requête.

Degré de traitement parallèle (DEGREE)

Indique l'option de traitement parallèle et, éventuellement, le nombre de tâches qui peuvent être utilisées lorsque des requêtes de bases de données et des constructions et reconstructions, et de la maintenance de chemins d'accès sur clé de fichiers base de données sont exécutées dans le travail.

L'option de traitement parallèle détermine le type de traitement parallèle admis parmi les deux présentés ci-après.

  1. Traitement parallèle des entrées-sorties (E-S)

    Le gestionnaire de base de données peut exécuter plusieurs tâches pour chaque requête afin d'effectuer le traitement des E-S. Le traitement UC est effectué en série.

  2. Multitraitement symétrique (SMP)

    SMP affecte le traitement UC et le traitement des entrées-sorties a des tâches qui exécuteront la requête en parallèle. Le traitement parallèle UC nécessite un système doté de plusieurs processeurs. Le traitement parallèle SMP ne peut être utilisé que si le dispositif logiciel DB2 Symmetric Multiprocessing est installé.

    L'utilisation du traitement parallèle SMP peut affecter l'ordre dans lequel les enregistrements sont renvoyés. Les applications qui dépendent des enregistrements renvoyés par les requêtes base de données par ordre d'arrivée ou d'accès par clé et qui ne définissent pas de séquence de façon explicite dans la requête ne doivent pas être exécutées dans des travaux pour lesquels vous avez indiqué une option de traitement parallèle permettant le traitement SMP.

La valeur initiale de l'attribut DEGREE pour un travail est *SYSVAL.

Valeurs uniques

*SAME
La valeur reste inchangée.
*NONE
Aucun traitement parallèle des requêtes de base de données, et des constructions, des reconstructions ou de la maintenance de chemins d'accès sur clé de fichiers base de données n'est admis.
*IO
N'importe quel nombre de tâches peut être utilisé lorsque l'optimiseur de requêtes base de données choisit d'avoir recours au traitement parallèle des E-S pour les requêtes. Le traitement parallèle SMP n'est pas admis.
*OPTIMIZE
L'optimiseur de requêtes peut choisir de traiter la requête, ou la construction, la reconstruction et la maintenance de chemins d'accès sur clé de fichiers base de données à l'aide de n'importe quel nombre de tâches pour le traitement parallèle des E-S ou SMP. Ce dernier ne peut être utilisé que si le dispositif logiciel DB2 Symmetric Multiprocessing est installé. Le traitement parallèle et le nombre de tâches à utiliser sont déterminés en fonction du nombre de processeurs disponibles dans le système, de la part que ce travail occupe dans la mémoire active disponible dans le pool et si le temps de traitement de la requête ou de la construction et la reconstruction de chemins d'accès sur clé de fichiers base de données est limité par le traitement UC ou par les ressources d'E-S. L'optimiseur de requêtes choisit la mise en oeuvre qui minimise le temps de traitement, selon la part de mémoire occupée par le travail dans le pool.
*MAX
L'optimiseur de requêtes choisit pour la requête le traitement parallèle soit des E-S, soit SMP. Le traitement parallèle SMP est uniquement utilisé si le dispositif logiciel DB2 Symmetric Multiprocessing est installé. Les options de l'optimiseur sont similaires à celles de la valeur *OPTIMIZE, mais l'optimiseur considère que toute la mémoire active dans le pool peut servir au traitement de la requête, ou à la construction, la reconstruction ou la maintenance des chemins d'accès sur clé de fichiers base de données.
*SYSVAL
L'option de traitement utilisée est celle définie dans la valeur système QQRYDEGREE.
*ANY
Cette valeur équivaut à *IO. La valeur *ANY est conservée pour être compatible avec les éditions antérieures.

Elément 1 : Option de traitement

*NBRTASKS
Le nombre de tâches qui serviront au traitement SMP est indiqué par le deuxième élément du paramètre DEGREE.

Elément 2 : Nombre de tâches

2 à 9999
Indiquez le nombre de tâches à utiliser lorsque l'optimiseur de requêtes choisit le traitement parallèle SMP pour traiter la requête. Le traitement parallèle des E-S est également admis. Le traitement parallèle SMP ne peut être utilisé que si le dispositif logiciel DB2 Symmetric Multiprocessing est installé.

L'utilisation d'un nombre de tâches inférieur au nombre de processeurs disponibles sur le système réduit le nombre de processeurs utilisés simultanément pour exécuter une requête, ou une construction, une reconstruction ou la maintenance de chemin d'accès sur clé de fichiers base de données. Par conséquent, afin d'utiliser les processeurs au maximum, indiquez un nombre élevé de tâches. Cependant, si ce nombre est trop élevé, les performances peuvent être affectées en raison de la surcharge de la mémoire active et du coût de gestion des tâches.

Utilisation travail asynchrone (ASYNCJ)

Indique dans quels cas des travaux asynchrones peuvent être utilisés pour traiter des requêtes base de données dans le travail.

L'option d'utilisation spécifiée permet de déterminer les types de requêtes base de données qui peuvent utiliser des travaux asynchrones exécutés en parallèle pour mener à bien la requête.

Un travail asynchrone est un travail distinct sur le système, qui gère les demandes de requêtes base de données soumises par des travaux exécutant ces requêtes. Le travail asynchrone traite chaque requête et consigne les résultats dans un fichier temporaire. Ce dernier est ensuite utilisé par le travail principal pour terminer le traitement de la requête.

Le travail asynchrone présente l'avantage de traiter une requête pendant que le travail principal traite une autre étape de cette requête. L'inconvénient est que le travail asynchrone peut se trouver face à une situation qu'il ne peut pas gérer de la même manière que le travail principal. Par exemple, le travail asynchrone peut recevoir un message d'interrogation qui provoquera son interruption, tandis que le travail principal peut choisir d'ignorer le message et poursuivre le traitement.

Il existe deux types de requêtes base de données pouvant utiliser des travaux asynchrones :

  1. Requêtes réparties

    Il s'agit de requêtes base de données utilisant des fichiers répartis. Ces derniers sont fournis via le dispositif logiciel DB2 Multisystem.

  2. Requêtes locales

    Il s'agit de requêtes base de données utilisant uniquement des fichiers se trouvant sur le système sur lequel elles sont exécutées.

La valeur initiale de l'attribut ASYNCJ définie pour un travail est *LOCAL.

*SAME
La valeur reste inchangée.
*DIST
Les travaux asynchrones peuvent être utilisés pour traiter les requêtes base de données utilisant des fichiers répartis.
*LOCAL
Les travaux asynchrones peuvent être utilisés pour traiter les requêtes base de données utilisant uniquement des fichiers situés sur le système où elles sont exécutées.

De plus, pour les requêtes utilisant des fichiers répartis, cette option permet que les communications requises soient asynchrones. Ainsi, chaque système intervenant dans la requête des fichiers répartis peut exécuter sa portion de la requête simultanément avec les autres systèmes (en parallèle).

*ANY
Les travaux asynchrones peuvent être utilisés pour traiter n'importe quelle requête base de données.
*NONE
Aucun travail asynchrone ne peut être utilisé lors du traitement d'une requête de base de données.

Par ailleurs, le traitement des requêtes utilisant des fichiers répartis est synchrone. Par conséquent aucun traitement parallèle inter-systèmes ne peut avoir lieu.

Action sur systèmes éloignés (APYRMT)

Indique, pour les requêtes base de données utilisant des fichiers répartis, si les attributs de requête seront ou non appliqués aux travaux exécutés sur les systèmes éloignés associés à ce travail. Les attributs de requête appliqués sont ceux de cette commande et ceux spécifiés dans le fichier QAQQINI de la bibliothèque indiquée au paramètre Biblio fichier options requête (QRYOPTLIB).

Suivant l'option indiquée, les attributs de requête spécifiés pour ce travail seront ou non appliqués aux travaux associés exécutés sur les systèmes où se trouvent les fichiers répartis.

La valeur initiale de l'attribut APYRMT définie pour un travail est *YES.

*SAME
La valeur reste inchangée.
*YES
Les attributs de requête associés au travail seront appliqués aux travaux éloignés utilisés pour traiter les requêtes base de données utilisant des fichiers répartis. Les attributs de requête appliqués sont ceux indiqués dans cette commande et ceux figurant dans le fichier QAQQINI de la bibliothèque indiquée au paramètre QRYOPTLIB. Dans le cas des attributs ayant pour valeur *SYSVAL, la valeur système définie sur le système éloigné sera utilisée pour le travail éloigné. Si la commande CHGQRYA a été exécutée pour ce travail, les travaux éloignés doivent disposer des droits appropriés pour utiliser cette commande.
*NO
Les attributs de CHGQRYA définis pour le travail ne seront pas appliqués aux travaux éloignés. Ces derniers utiliseront les attributs qui leur sont associés sur leurs systèmes respectifs.

Biblio fichier options requête (QRYOPTLIB)

Indique la bibliothèque qui contient actuellement ou qui contiendra le fichier d'options de requête (QAQQINI).

Le fichier d'options de requête permet de définir ou modifier les attributs utilisés par l'optimiseur de requêtes, qui déterminent la façon dont une requête va être mise en oeuvre dans le travail indiqué.

Le fichier d'options de requête utilise un programme de déclenchement fourni par le système qui est associé au fichier QAQQINI afin de traiter toute modification apportée au fichier. Un modèle pour ce fichier est fourni dans la bibliothèque QSYS avec le programme de déclenchement de base. Afin de gérer et d'utiliser correctement le fichier d'options de requête, il est recommandé d'utiliser la commande CRTDUPOBJ (Créer un objet dupliqué) pour créer une copie du fichier QAQQINI dans la bibliothèque indiquée pour ce paramètre.

Pour plus d'informations, reportez-vous au manuel Rubriques de programmation SQL DB2 for i dans l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/, et Rubrique Base de données de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.

La valeur initiale de l'attribut QRYOPTLIB pour un travail est QUSRSYS.

*SAME
La valeur reste inchangée.
nom
Indiquez le nom de la bibliothèque dans laquelle le fichier d'options de requête QAQQINI se trouve ou se trouvera.

Interrog limite mémoire temp (QRYSTGLMT)

Indique une limite de mémoire temporaire pour les requêtes dans la base de données. Si la requête excède la capacité de la mémoire, elle ne sera pas exécutée. La valeur est définie en mégaoctets.

La valeur initiale de l'attribut QRYSTGLMT pour un travail est *NOMAX.

*SAME
La valeur reste inchangée.
*NOMAX
Il n'existe aucune limite maximale applicable à la mémoire temporaire.
0 à 2147352578
Indiquez la capacité maximale de mémoire temporaire utilisable. Cette valeur est comparée à la quantité de mémoire estimée pour lancer la requête, telle qu'elle est calculée par l'optimiseur de requête. Si la quantité estimée est supérieure à cette valeur, la requête n'est pas lancée. La valeur est définie en mégaoctets.

Lorsque cette valeur est 0, la plupart des requêtes de base de données indiquées dépassent la limite de stockage temporaire admise. Elles génèrent le message d'interrogation CPA4259 ou appellent un programme d'exit, si elles sont connectées au point d'exit de la fonction de régulation. La valeur 0 pour la quantité de mémoire de travail peut être utile lors du réglage des performances des requêtes. La description technique du message d'interrogation CPA4259 ou le moniteur de base de données, s'ils sont activés à l'aide du paramètre FTRQRYGOVR ou de la commande STRDBMON (Démarrer le moniteur de base de données), permettent de préciser le type de plan d'accès utilisé par la requête.

Exemples

Exemple 1: Modification du délai de traitement de la requête

CHGQRYA   QRYTIMLMT(60)

Cette commande fait passer le délai de traitement de la requête à 60 secondes.

Exemple 2: Contrôle du traitement parallèle de requête et de base de données

CHGQRYA   DEGREE(*IO)

Cette commande indique que vous pouvez utiliser un nombre de tâches quelconque lorsque l'optimiseur des requêtes de base de données choisit d'avoir recours au traitement parallèle des E-S pour les requêtes. Le traitement parallèle SMP n'est pas admis.

Exemple 3: Contrôle du traitement parallèle de requête

CHGQRYA   DEGREE(*OPTIMIZE)

Cette commande indique que l'optimiseur de requêtes peut choisir d'avoir recours à un tout nombre de tâches pour le traitement parallèle SMP ou des E-S pour traiter une requête, une construction ou une reconstruction de chemins d'accès sur clé de fichiers base de données, ou une maintenance de chemins d'accès sur clé d'E-S de fichiers base de données. Le traitement parallèle SMP est uniquement utilisé si le dispositif logiciel DB2 Symmetric Multiprocessing est installé.

Exemple 4: Contrôle du traitement parallèle de requête

CHGQRYA   DEGREE(*MAX)

Cette commande indique que l'optimiseur de requêtes suppose par défaut que toute la mémoire active du pool peut être utilisée pour traiter une requête, une construction ou une reconstruction de chemins d'accès sur clé de fichiers base de données, ou une maintenance de chemins d'accès sur clé d'E-S de fichiers base de données, et qu'il peut choisir de recourir à un tout nombre de tâches pour le traitement parallèle des E-S ou SMP permettant de traiter une requête, une construction ou une reconstruction de chemins d'accès sur clé de fichiers base de données, ou une maintenance de chemins d'accès sur clé d'E-S de fichiers base de données. Le traitement parallèle SMP est uniquement utilisé si le dispositif logiciel DB2 Symmetric Multiprocessing est installé.

Exemple 5: Contrôle du nombre de tâches d'une requête

CHGQRYA   DEGREE(*NBRTASKS 12)

Cette commande indique que les 12 tâches doivent être utilisées lorsque l'optimiseur de requêtes choisit d'avoir recours au traitement parallèle SMP pour traiter une requête, une construction ou une reconstruction de chemins d'accès sur clé de fichiers base de données, ou une maintenance de chemins d'accès sur clé d'E-S de fichiers base de données. Le parallélisme des E-S est également admis. Le traitement parallèle SMP est uniquement utilisé si le dispositif logiciel DB2 Symmetric Multiprocessing est installé.

Exemple 6: Contrôle du traitement parallèle de requête

CHGQRYA   DEGREE(*SYSVAL)

Cette commande indique que la requête, construction ou reconstruction de chemins d'accès sur clé de fichiers base de données, ou maintenance de chemins d'accès sur clé d'E-S de fichiers base de données doit être optimisée par la valeur en cours de la valeur système QQRYDEGREE lors de l'exécution de la requête, la construction ou la reconstruction de chemins d'accès sur clé de fichiers base de données, ou la maintenance de chemins d'accès sur clé d'E-S de fichiers base de données.

Exemple 7: Désactivation de l'utilisation de travaux asynchrones pour le traitement des fichiers répartis

CHGQRYA   ASYNCJ(*LOCAL)

Cette commande empêche l'utilisation de travaux asynchrones pour toutes les requêtes impliquant des fichiers répartis.

Exemple 8: Désactivation de l'utilisation de travaux asynchrones

CHGQRYA   ASYNCJ(*NONE)

Cette commande empêche l'utilisation de travaux asynchrones pour les requêtes. De plus, pour les requêtes impliquant des fichiers répartis, la communication vers les systèmes éloignés est effectuée en mode synchrone.

Exemple 9: Spécification de la bibliothèque du fichier d'options de requête

CHGQRYA   QRYOPTLIB(QUSRSYS)

Cette commande indique que le fichier d'options de requête (QAQQINI) doit être recherché dans la bibliothèque QUSRSYS.

Remarque: Si cette commande est utilisée en plus du paramètre STRDBG UPDPROD(*YES), tous les messages de débogage de l'optimiseur (locaux et éloignés) s'affichent dans l'historique du travail correspondant à ce travail.

Exemple 10: Spécification de la bibliothèque du fichier d'options de requête pour un autre travail

CHGQRYA   QRYOPTLIB(LIB41)  JOB(134543/QPGMR/DSP01)

Cette commande indique que le fichier d'options de requête (QAQQINI) doit être recherché dans la bibliothèque LIB41 pour le numéro de travail 134543. Le nom du travail, démarré par l'utilisateur QPGMR, est DSP01. Cette bibliothèque peut exister dans plusieurs pools de mémoire secondaire (ASP) indépendants ; la bibliothèque située dans l'espace de nom du travail de l'émetteur est systématiquement utilisée.

Exemple 11: Modification du dépassement de la limite des requêtes

CHGQRYA   QRYSTGLMT(200)

Cette commande permet de fixer la quantité de mémoire temporaire à 200 mégaoctets.

Messages d'erreur

Messages *ESCAPE

CPF1321
Travail &3/&2/&1 non trouvé.
CPF436E
Travail &1 utilisateur &2 numéro &3 inactif.
CPF9810
Bibliothèque &1 non trouvée.

© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.