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 :

ecriture de v$sqlarea dans une table


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Février 2007
    Messages : 227
    Par défaut ecriture de v$sqlarea dans une table
    Bonjour;
    Je voudrais ecrire toutes les requetes SQL qui s'executent dans ma base de données de l'utilisateur user1 dans une table qui s'appelle tab_user1.
    Je veux que le contenu de la vue v$sqlarea soit ecrit dans cette table.
    Autrement dit je veux créer un trigger sur v$sqlarea a chaque fois qu'une ligne est ajouté qui concerne l'utilisateur user1 qu'elle soit ecrite dans tab_user1.
    merci d'avance.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2006
    Messages : 139
    Par défaut
    Bonjour,

    pourquoi ne pas utiliser les traces Oracle?
    Si c'est pour une application, tu peux faire un trigger qui active les traces sur le logon du user.
    v$sqlarea contient les requetes de tous les users.
    Sinon il reste le lourd perfstat ou awr pour le log des requetes consommatrices.

    Cdt

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Février 2007
    Messages : 227
    Par défaut
    Je ne veux pas utiliser le trace d'oracle;
    v$sqlarea peux me donner les requetes de l'utilisateur user1, si je fais une jointure avec dba_users.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    select a.sqltext
    a.buffer_gets,
    a.disk_reads,
    a.executions,
    a.sorts,
    a.address
    FROM   v$sqlarea a, dba_users u
    WHERE u.user_id=a.parsing_user_id AND u.username='user1'
    merci pour ta réponse.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2006
    Messages : 139
    Par défaut
    vu les infos recherchées, problème de consommation, il te faudrait utiliser perfstat ou awr.
    Il s'agit de mechanismes très puissants d'Oracle pour traquer les requêtes consommatrices et sans impacter la production. Tu peux ensuite faire des tas de stats par user, BF, DR, module,...

    Sinon concernant le trigger envisagé, il faudrait le positionner sur les tables systeme ce qui est à proscrire car tu pourrais bloquer la base.

    cdt

  5. #5
    Membre extrêmement actif
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Billets dans le blog
    6
    Par défaut
    bonjour
    n'oubliez pas qu'il exist une autre vue v$sql
    bonne chance

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Février 2007
    Messages : 227
    Par défaut
    Comment je peux savoir les tables systèmes que la vue v$sqlarea lit pour avoir les infos.

Discussions similaires

  1. ecriture en arabe dans une table mysql
    Par abc12 dans le forum Requêtes
    Réponses: 2
    Dernier message: 25/03/2009, 10h43
  2. [mySQL-C]Ecriture dans une table
    Par fx007 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 05/02/2007, 15h18
  3. conflit d'ecriture dans une table
    Par laurent.w dans le forum Access
    Réponses: 6
    Dernier message: 25/01/2007, 17h02
  4. ecriture impossible dans une table vierge
    Par stefano dans le forum Bases de données
    Réponses: 3
    Dernier message: 15/01/2007, 17h47
  5. fonction ecriture dans une table
    Par smbpopov33 dans le forum Access
    Réponses: 5
    Dernier message: 20/06/2005, 14h52

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