Les tables externes

Introduction

L’idée saugrenue de jouer avec les tables externes[1] m’est venue de la volonté de pouvoir corréler[2] les statistiques systèmes et les statistiques provenant d’Oracle.
Ce que je souhaitais obtenir avec ce système était l’accès complet à l’historique de sar au travers d’un langage de manipulation de données, le SQL. Enfin un script shell viendra compléter l’arsenal et rendra opérant ce système. Attention, ce script sera appelé à chaque accès de la table.

Pour des raisons de sécurité, je vous incite fortement à lire la documentation oracle sur les risques[3] liés à l’utilisation de la clause PREPROCESSOR.

Ingrédients

  • Une tasse de café
  • Un siège
  • Un système *nix où sar est actif
  • Une base de données Oracle
  • Les droits DBA
  • Un copier/coller fonctionnel

Préparation

Pour que ce système ne soit pas trop intrusif, j’ai fait le choix de créer un utilisateur dédié: systat. La suppression n’en sera que plus aisée.
Le mot de passe ne sera probablement pas en accord avec votre politique de sécurité, corrigez l’assaisonnement à votre gout.

Pour que mon petit bonhomme puisse faire quelque chose, je lui donne des droits, juste ce qu’il faut, sur des dossiers créés ci-dessous.
Le premier dossier hébergera le(s) script(s), le second, les fichiers de log.

Voici maintenant les droits spécifiques à chaque dossier.

Pour ne pas rendre indigeste cet article, je n’ai gardé que la table du load average.
Vous pourrez créer une table pour les autres métriques selon vos besoins, le principe reste le même.

Et enfin, parce que je n’aime pas les choses compliquées, un synonyme est le bienvenu.

Voilà pour la partie SQL, il me reste à présenter le script shell /home/oracle/dba/bin/loadavg

Je positionne le bit d’exécution sur le script avec la commande chmod +x /home/oracle/dba/bin/loadavg et maintenant je peux m’amuser avec mon nouveau jouet.

[1]: Managing External Tables
[2]: correlation does not imply causation
[3]: Guidelines for Securing the ORACLE_LOADER Access Driver

 

About Daniel Pereira

Daniel Pereira has written 1 post in this blog.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

%d blogueurs aiment cette page :