Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/12/2006, 09h23   #1
Invité de passage
 
Inscription : mai 2004
Messages : 5
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 5
Points : 2
Points : 2
Par défaut Capture requête SQL

Bonjour

J'ai besoin de créer un tigger (Oracle 10g) qui permet de capturer la moindre requête SQL lancée par utilisateur donné.
Comment faire ?

Merci
medba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2006, 11h35   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
dans ce cas t'as plus vite fait de mettre la base en trace mais gare aux perfs
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2006, 16h03   #3
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 927
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : décembre 2005
Messages : 2 927
Points : 4 549
Points : 4 549
Citation:
Envoyé par medba
Bonjour

J'ai besoin de créer un tigger (Oracle 10g) qui permet de capturer la moindre requête SQL lancée par utilisateur donné.
Comment faire ?

Merci
il n'existe pas de trigger pour les SELECT. Outre le TRACING, que tu peux activer pour cet utilisateur (--> DBMS_MONITOR), il y a la commande AUDIT qui peut t'aider
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2006, 16h04   #4
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 927
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : décembre 2005
Messages : 2 927
Points : 4 549
Points : 4 549
tu peux aussi consulter V$SQL
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2006, 17h18   #5
Candidat au titre de Membre du Club
 
Inscription : mars 2006
Messages : 15
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 15
Points : 14
Points : 14
Grâce au package DBMS_FGA (par défaut c’est une propriété de sys dba)

Il faut au préalable ajouter une police FGA avec le schéma, la table et éventuellement les colonnes à surveiller :

exec dbms_fga.add_policy (object_schema=>'MON_SCHEMA',object_name=>'MA_TABLE_CLIENT',policy_name=>'Accès_aux_clients',audit_column => 'CHAMP_Nom_Client');

A partir de ce moment si quelqu’un fait un select sur CHAMP_Nom_Client', on retrouvera sa trace dans la table dba_fga_audit_trail.

Si on veut supprimer cette police il suffit de faire :

exec dbms_fga.drop_policy (object_schema=>'MON_SCHEMA',object_name=>'MA_TABLE_CLIENT’,policy_name=>'Accès_aux_clients');

Ce package accepte d’autres paramètres, comme par exemple une procédure stockée déclenchée par le select, ce qui revient à faire un trigger sur un select.
Jdubernat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2006, 08h47   #6
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
je ne connaissais pas ça... c'est pas mal du tout
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h51.


 
 
 
 
Partenaires

Hébergement Web