SWITCH, commande
Cette commande dynamique entraîne un basculement de fichier de magasin de données pour un groupe de fichiers spécifique. A un moment donné, les opérations de type mise à jour au niveau des tables d'un groupe particulier sont dirigées vers un et un seul des fichiers du groupe. Ce fichier est appelé le fichier actif. Un basculement de fichier modifie le fichier actif d'un groupe. En d'autres termes, le basculement fait en sorte qu'un fichier autre que le fichier actif devient le nouveau fichier actif.
Si le groupe indiqué par cette commande ne contient qu'un seul fichier ou si le groupe ne contient aucun fichier inactif admissible pour la sortie, le basculement n'est pas exécuté.
A la fin d'un basculement, le stockage de persistance des données démarre le processus de maintenance pour un fichier du groupe s'il ne reste aucun fichier vide dans le groupe.
Le mot clé [NO]EXTRACT permet de forcer ou de supprimer un travail d'extraction pour le fichier de magasin de données désactivé par le basculement.
Syntaxe
SWITCH GROUP=groupid [ EXTRACT | NOEXTRACT ]où
- ID groupe
- Indique l'ID du groupe de fichiers à faire basculer. Plusieurs fichiers doivent être affectés au groupe.
- EXTRACT
- Indique que le fichier de magasin de données désactivé doit être extrait, même si l'instruction GROUP du fichier n'a pas demandé l'extraction.
- NOEXTRACT
- Indique que l'extraction ne doit pas être exécutée pour le fichier de magasin de données désactivé. Cette option remplace le mot clé EXTRACT de l'instruction GROUP.
Si aucune option EXTRACT ou NOEXTRACT n'est indiquée, la présence ou l'absence du mot clé EXTRACT dans l'instruction GROUP du fichier détermine si l'extraction est exécutée ou non dans le cadre du basculement.
logique SWITCH
La commande SWITCH examine tous les jeux de données affectés au groupe et tente de rechercher un jeu de données vide. Si aucun jeu de données vide n'est disponible, les futures tentatives d'écriture de données dans un jeu de données du groupe échouent. En général, un jeu de données vide est détecté et signalé comme jeu de données actif.Lorsqu'un jeu de données est désactivé car il est saturé, il est testé pour vérifier si l'option EXTRACT a été indiquée. Si c'est le cas, la commande EXTRACT pour le jeu de données est exécutée.
Le test suivant consiste à vérifier si le groupe en cours contient des jeux de données vides. Si ce n'est pas le cas, le code recherche le jeu de données comportant les données les plus anciennes, puis le marque à des fins de maintenance. Avec l'édition la plus récente du stockage de persistance des données, le code vérifie si l'une des options de maintenance BACKUP, EXPORT ou EXTRACT a été spécifiée pour ce fichier. Si ce n'est pas le cas, la commande INITDS est exécutée. Dans le cas contraire, la commande BACKUP est exécutée.