Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour 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 21/01/2008, 15h26   #1
Invité de passage
 
Inscription : janvier 2008
Messages : 13
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 13
Points : 4
Points : 4
Par défaut Audit avec V_$SESSION

Bonjour,
puis-je auditer une table d'un utilisateur X qui n'a pas de droits sys.
j'ai essayé de faire cella :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
CREATE OR REPLACE TRIGGER TRG_AUDIT
BEFORE INSERT OR UPDATE OR DELETE ON x.table_test
 
DECLARE
 
CURSOR cur_user IS
SELECT x.table_seq_audit.NEXTVAL AS ID,
USERNAME,
OSUSER,
sysdate AS date_op,
machine
FROM sys.V_$SESSION WHERE audsid=userenv('sessionid');
 
BEGIN
 
FOR CUR IN cur_user Loop
 
INSERT INTO x.table_audit (id_audit,USERNAME,USER_ID,AUDIT_DATE,EXTERNAL_NAME)
VALUES (CUR.ID,
CUR.USERNAME,
CUR.OSUSER,
CUR.date_op,
CUR.machine);
 
End loop ;
END TRG_AUDIT;
/

A la compilation j'ai "table ou vue non existante" : ( sys.V_$SESSION)
pourtant mon select fonctionne si je l'execute en dehors de mon bloc pl-sql...
Quelqu'un a une idée ?

Merci d'avance !
bruninho est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2008, 16h01   #2
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 319
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 3 319
Points : 5 837
Points : 5 837
Pour PL/SQL il faut donner les privilèges d’une manière explicite et non pas via les roles.
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2008, 17h21   #3
Invité de passage
 
Inscription : janvier 2008
Messages : 13
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 13
Points : 4
Points : 4
Effectivement avec un GRANT SELECT ON sys.V_$SESSION TO X cella marche très bien ! Merci beaucoup... ;-)
bruninho est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



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


 
 
 
 
Partenaires

Hébergement Web