IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration Oracle Discussion :

Syntaxe de requêtes SQL pour extraire des informations


Sujet :

Administration Oracle

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2017
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Syntaxe de requêtes SQL pour extraire des informations
    Bonjour tout le monde,

    je travaille sur une solution de supervision des base de données oracle et j'ai besoin deux requêtes pour extraire les informations suivantes:
    la première: pour afficher les 5 premiers requêtes les plus coûteuses en terme de temps CPU et l'utilisateur correspondants pour chaque requête.
    la deuxième: pour afficher les utilisateurs qui ont effectué 3 tentatives ou plus d'authentifications échoués à la base de données

    je connais juste les bases de Oracle database. J'ai ne sais pas où je vais trouver ces informations (tables ou vues v$ ...)
    Merci de me guider. je vous serai très reconnaissant

    Merci d'avance.

  2. #2
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Pour la première requête, essaye avec V$SESSION_LONGOPS, c'est la vue des ordres SQL les plus longs.
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2017
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup pour votre réponse ainsi pour l’intérêt que me portez.
    j'ai fais un "select * from v$session_ longops;" mais j'ai eu un résultat vague avec (387 lignes sélectionnées et les infos ne sont pas claires). Voir la photo ci-jointe.
    Si vous pouvez me spécifier les champs les plus importans sur lesquels je fais la sélection pour plus de visibilité.

    Merci Ikebukuro, c tres gentil d'avoir me répondre.
    Images attachées Images attachées  

  4. #4
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Salut,

    J'ai fais exprès de ne pas te donner les colonnes intéressantes pour te forcer à lire la doc Oracle sur la vue et à comprendre comment celle-ci fonctionne
    Visiblement tu ne l'as pas fait mais c'est pas très grave mais retiens bien que la doc Oracle est le point d'entrée pour savoir comment utiliser une table ou une vue.

    Voici un lien obtenu sur Google : https://docs.oracle.com/cd/B28359_01...htm#REFRN30227

    Une colonne très intéressante est "ELAPSED_SECONDS : Number of elapsed seconds from the start of the operations".
    A toi de voir si c'est suffisant.
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  5. #5
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Pour la seconde question, tu peux voir dans la vue DBA_AUDIT_TRAIL (si l'audit session est activé - désactivé par défaut en 12c)

    Le returncode correspond à l'erreur Oracle (1017 pour invalid password / 28000 pour user locked)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT os_username, username, userhost, TIMESTAMP, action_name, returncode, comment_text
    FROM dba_audit_trail where returncode <> 0
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  6. #6
    Membre éprouvé Avatar de 13thFloor
    Homme Profil pro
    DBA Oracle freelance
    Inscrit en
    Janvier 2005
    Messages
    670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : DBA Oracle freelance

    Informations forums :
    Inscription : Janvier 2005
    Messages : 670
    Points : 945
    Points
    945
    Par défaut
    Hello,
    pour la consommation cpu, j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    select rownum as rank, a.*
    from (
       select elapsed_Time/1000000 "elapsed_Time", 
           executions,
           buffer_gets,
           disk_reads,
           cpu_time/1000000 "cpu_time",
          sql_text
       from  v$sqlarea
       where elapsed_time > 20000
       order by elapsed_time desc) a
    where rownum < 11;
    et ses variantes avec cpu_time au lieu de elapsed_time.
    Tu peux également aller piocher dans les vue dba_hist (sous réserve que tu aies la licence pour tuning pack).

  7. #7
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Citation Envoyé par 13thFloor Voir le message
    Tu peux également aller piocher dans les vue dba_hist (sous réserve que tu aies la licence pour tuning pack).
    Sauf erreur de ma part, les vues DBA_HIST utilisent les snapshots AWR et donc il faut le "Diagnostics Pack", pas le "Tuning Pack" pour les utiliser.
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2017
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par McM Voir le message
    Pour la seconde question, tu peux voir dans la vue DBA_AUDIT_TRAIL (si l'audit session est activé - désactivé par défaut en 12c)

    Le returncode correspond à l'erreur Oracle (1017 pour invalid password / 28000 pour user locked)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT os_username, username, userhost, TIMESTAMP, action_name, returncode, comment_text
    FROM dba_audit_trail where returncode <> 0

    Merci Merci beaucoup, ça bien marché, je l'ai injecter dans le plugin Perl pour nagios et ça bien fonctionné Nickel .
    c est tres gentil de votre part Mr MCM : )

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2017
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Ikebukuro Voir le message
    Salut,

    J'ai fais exprès de ne pas te donner les colonnes intéressantes pour te forcer à lire la doc Oracle sur la vue et à comprendre comment celle-ci fonctionne
    Visiblement tu ne l'as pas fait mais c'est pas très grave mais retiens bien que la doc Oracle est le point d'entrée pour savoir comment utiliser une table ou une vue.

    Voici un lien obtenu sur Google : https://docs.oracle.com/cd/B28359_01...htm#REFRN30227

    Une colonne très intéressante est "ELAPSED_SECONDS : Number of elapsed seconds from the start of the operations".
    A toi de voir si c'est suffisant.
    Merci pour votre réponse. je vais jeter un coup d' oeuil surla documentation oracle et essayer d'extraire les infos convenables.Merci bcp Mr

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2017
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par 13thFloor Voir le message
    Hello,
    pour la consommation cpu, j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    select rownum as rank, a.*
    from (
       select elapsed_Time/1000000 "elapsed_Time", 
           executions,
           buffer_gets,
           disk_reads,
           cpu_time/1000000 "cpu_time",
          sql_text
       from  v$sqlarea
       where elapsed_time > 20000
       order by elapsed_time desc) a
    where rownum < 11;
    et ses variantes avec cpu_time au lieu de elapsed_time.
    Tu peux également aller piocher dans les vue dba_hist (sous réserve que tu aies la licence pour tuning pack).
    Merci pour votre réponse Mr, j'ai l'ai exécuter et j'ai trouvé des requêtes SQL un peu complexes (je vais posser la recherhce sur les composants de la vue v$sqlarea et je vais me retourner vers vous). Merci une deuxieme fois

  11. #11
    Membre éprouvé Avatar de 13thFloor
    Homme Profil pro
    DBA Oracle freelance
    Inscrit en
    Janvier 2005
    Messages
    670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : DBA Oracle freelance

    Informations forums :
    Inscription : Janvier 2005
    Messages : 670
    Points : 945
    Points
    945
    Par défaut
    Citation Envoyé par Ikebukuro Voir le message
    Sauf erreur de ma part, les vues DBA_HIST utilisent les snapshots AWR et donc il faut le "Diagnostics Pack", pas le "Tuning Pack" pour les utiliser.
    Yep, je les ai confondus.
    Ca ne devrait pas être optionnel (donc tarifé) mais inclus dans la licence enterprise, mais bon, on ne va pas refaire la politique commerciale d'oracle même si on est (quasiment) tous d'accord qu'il y a des progrès à effectuer.

Discussions similaires

  1. Requête SQL pour fusionner des colonnes
    Par Aenur56 dans le forum Langage SQL
    Réponses: 9
    Dernier message: 20/05/2010, 19h23
  2. [MySQL] Requête SQL pour afficher des "Related Items"
    Par neoweiter dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 15/07/2009, 14h15
  3. [MySQL] Problème de requête SQL pour calculer des stats
    Par k2006 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 21/05/2009, 18h23
  4. [CLI] Attaquer la base de données SVN pour extraire des informations
    Par Gowser12 dans le forum Subversion
    Réponses: 2
    Dernier message: 09/01/2009, 11h57
  5. Réponses: 11
    Dernier message: 08/10/2007, 13h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo