Auditer les bases du Cloud via un job sur un groupe de bases - Audit the Cloud databases via a job on a group of databases
Introduction
Nous avons vu dans l'article "Auditer les bases Oracle du Cloud via le repository du Cloud Control" qu'il était possible, via le repository du Cloud, d'interroger en un SELECT toutes les bases référencées dans ce référentiel; mais attention, cela n'est possible que sur un certains nombres de données (noms des bases, des users, des serveurs...) utiles à la gestion du Cloud.
Dans l'article "Auditer les bases du Cloud via un SELECT sur un groupe de bases" nous sommes allés plus loin en montrant comment interroger, avec un seul SELECT, N bases de données d'un groupe. Avec cette méthode, toutes les tables système et applicatives sont accessibles.
Dans cet article, nous allons effectuer la même opération mais via l'exécution d'un job, à nouveau sur un groupe de N bases; l'intérêt étant bien sur de pouvoir le planifier, chose impossible avec les méthodes ci-dessus.
Points d'attention
N/A.
Base de tests
Une base Oracle 18c multi-tenants avec un Cloud Control référençant plusieurs bases.
Exemples
============================================================================================
La configuration du job dans le Cloud Control
============================================================================================
Sur la page d'accueil du Cloud Control, dérouler le menu Entreprise (premier menu entouré de rouge) et cliquer sur Job/Library.
Dans la liste des jobs affichés de type "SQL script", soit on en crée un nouveau, soit on en choisit un déjà existant. Pour mon test, je choisis le job existant ZZCLOUD_SELECT_N_BASES et je clique sur le bouton Edit. Pour en créer un de rien, vous pouvez vous inspirer des écrans suivants montrant le détail du job.
Dans le nouvel écran, plusieurs onglets sont disponibles.
Onglet Général : on ajoute ici les Targets de type "Instance Oracle" en cliquant sur Add.
Onglet Parameters : saisir dans la zone "SQL Script" le SELECT à exécuter. Il manque dans la capture écran la fin du script, qui est certainement un DBMS_OUTPUT.PUT_LINE sur la variable contenant le résultat du SELECT (désolé mais je n'ai plus accès à un Cloud Control).
Onglet Credentials.
Choisir ici le compte des N serveurs Linux et le compte des N bases de données Oracle qui permettront de se connecter en une seule fois, sans avoir à saisir de login/password. Il faut choisir Named pour les deux, même si ma capture écran est différente.
Voici les Host Credentials de mon Cloud, qu'on définit dans un autre écran.
Choisir un compte de connexion aux serveurs Linux/Unix/Windows; ce compte, même nom et même password, doit exister sur tous les serveurs hébergeant les N bases interrogées. Choisir les options "Host Credentials" et "Scope Global".
Voici les Database Credentials de mon Cloud, qu'on définit dans un autre écran.
Choisir un compte Oracle de connexion aux bases de données du groupe; ce compte, même nom et même password, doit exister sur toutes les bases auxquelles on veut se connecter. Choisir les options"Database Credentials" et "Scope Global"
Onglet Schedule : choisir "One Time (Immediately)" pour lancer le job à la demande, dans le cadre de ce test; il va de soi que l'intérêt de passer par un job est de pouvoir planifier son exécution mais on peut aussi le tester de suite avec ce paramétrage.
Pour exécuter le job : ouvrir le menu Entreprise/Job/Activity, sélectionner le job et cliquer sur Submit.
A ce moment là, on peut encore modifier les paramètres et diverses choses dans les écrans avant de finalement cliquer sur Submit et lancer le job.
Une fois cliqué sur Submit, on peut voir le résultat en allant dans Entreprise/Job/Activity.
Cliquer dans la colonne Name sur un nom de job pour voir le détail de cette exécution. La colonne Status dit si le SELECT s'est correctement exécuté ou non sur les bases du groupe de bases Oracle.
Colonne Details : cliquer sur Show ou "Show All Details" pour avoir le résultat et le log d'exécution du job base par base. Au besoin, cliquer sur le lien "View complete log...", en bas de la zone affichée après avoir cliqué sur Show, pour avoir plus d'informations.