Variables pour les scripts, pour les travaux et les alertes définies par l'utilisateur

Vous pouvez utiliser des variables prédéfinies dans les scripts que vous spécifiez pour les travaux ou les alertes définies par l'utilisateur. Par exemple, vous pouvez créer un script qui inclut une variable DSWEB_DATABASE_NAME, correspondant au nom de la base de données physique.
Pour ajouter des variables au script, encapsulez chaque variable dans ${ } ; par exemple :
${DSWEB_DATABASE_PROFILENAME}

Variables pour le gestionnaire de travaux et les scripts définis par l'utilisateur

Les variables dans le tableau suivant peuvent être utilisées dans tout gestionnaire de travaux et script d'alerte défini par l'utilisateur. Ces variables représentent des valeurs identifiées à l'alerte, telles que le nom de base de données et l'ID de travail.

Tableau 1. Variables pouvant être utilisées dans le gestionnaire de travaux et les scripts définis par l'utilisateur
Variable Valeur renvoyée
DSWEB_DATABASE_NAME Le nom de la base de données physique.
DSWEB_DATABASE_PROFILENAME Le nom associé à la base de données lorsqu'elle est créée sur la page des bases de données.

Cette valeur ne correspond pas au nom de la base de données physique, mais l'identificateur unique associé à la base de données.

DSWEB_INSTANCE_NAME Nom d'instance DB2.
DSWEB_JOB_ID Le travail ayant exécuté l'ID unique du script.
DSWEB_JOB_NAME Le nom ou le libellé que vous avez utilisé pour le travail actuel.
DSWEB_LOGGEDIN_USER L'ID utilisateur que vous avez utilisé pour exécuter le script. Cet ID utilisateur peut également être l'ID SSH de l'utilisateur.

Variables pour les scripts du gestionnaire de travaux uniquement

Les variables de la Table 2 peuvent uniquement être utilisées dans les scripts du gestionnaire de travaux. Ces variables sont uniquement définies lorsqu'elles sont déclenchées par la fonction d'action d'alerte.

Tableau 2. Variables pouvant uniquement être utilisées dans les scripts du gestionnaire de travaux
Variable Valeur renvoyée
DSWEB_ALERT_DETAIL Détails-clés ou résumé de l'alerte.
DSWEB_ALERT_ID L'ID d'alerte pour l'action d'alerte spécifiée.
DSWEB_ALERT_TYPE_NAME Le type d'alerte tel que le statut de la base de données.

Extrayez et planifiez des enregistrements de contrôle à partir d'un ensemble de bases de données

Dans cet exemple, l'équipe d'administrateurs de bases de données de l'entreprise Great Outdoor Company est responsable de la gestion de centaines de bases de données. L'une de leurs tâches consiste à extraire les enregistrements de contrôle d'un ensemble de bases de données à intervalles réguliers (par exemple, une fois par semaine), puis à transférer le fichier délimité à leur serveur central via FTP. A partir du serveur central, une application personnalisée assemble les informations de contrôle. La conformité aux règles et la validation de l'accès utilisateur sont vérifiées et les éventuels problèmes signalés pour résolution.

L'équipe d'administrateurs de bases de données développe un script pour extraire les enregistrements de contrôle à l'aide de la procédure mémorisée SYSPROC.AUDIT_DELIM_EXTRACT. SYSPROC.AUDIT_DELIM_EXTRACT est accessible à partir de /mnt/dba/scripts/extractaudit.sh dans tous leurs systèmes Linux et UNIX. SYSPROC.AUDIT_DELIM_EXTRACT utilise les commandes DB2 ainsi que d'autres utilitaires pour extraire les enregistrements de contrôle et les copier sur le serveur central. Le script générique existant de l'équipe attend le nom de la base de données en tant qu'argument lors du démarrage. L'équipe d'administrateurs de bases de données souhaite créer un script qui extrait le nom de la base de données. A partir du gestionnaire de travaux, elle peut planifier le script pour qu'il s'exécute à intervalles réguliers afin d'automatiser l'extraction du nom de la base de données.

Pour ajouter des variables à un script, encapsulez chaque variable dans ${ } ; par exemple :
${DSWEB_DATABASE_PROFILENAME}
echo ==========================================
echo TRACE: Job name is '${DSWEB_JOB_NAME}', Job ID is '${DSWEB_JOB_ID}'
echo TRACE: Job is being run against Database Profile '${DSWEB_DATABASE_PROFILENAME}' with userID: '${DSWEB_LOGGEDIN_USER}'
echo TRACE: The database name is '${DSWEB_DATABASE_NAME}'
echo ==========================================
/mnt/dba/scripts/extractaudit.sh ${DSWEB_DATABASE_NAME}

Après avoir exécuté le script, l'administrateur de base de données teste le résultat par rapport à une autre base de données pour confirmer que l'invocation du script à partir du travail fonctionne comme prévu. L'administrateur de base de données bascule vers la vue Historique et vérifie que le script s'est exécuté correctement en consultant le journal d'exécution. Il crée alors une planification dans la section Planifications afin d'exécuter le travail sur une base hebdomadaire. L'administrateur de base de données sélectionne l'ensemble de bases de données et l'heure. Il choisit également de créer des planifications mensuelles pour les bases de données qui nécessitent l'exécution de ce travail sur une base mensuelle uniquement.


Feedback