Bonjour je voudrais récupérer les requêtes qui ont été exécutées par un user en particulier dans v$sql_area.
comment faire le lien avec v$session?
Version imprimable
Bonjour je voudrais récupérer les requêtes qui ont été exécutées par un user en particulier dans v$sql_area.
comment faire le lien avec v$session?
salut essaie ca :
Code:
1
2
3
4
5
6
7 Select sql_text from v$sqlarea where (address, hash_value) in (select sql_address, sql_hash_value from v$session where username like '&username')
je ne retrouve pas tout
en fait dans v$sql_area je récupère toutes les requêtes consommant bcp de CPU et je voudrais savoir quelles sessions ont lancé ces requêtes
Bonjour,
C'est normal que tu ne trouves pas tout, ca cette requette est bridé au niveau des user : il fait un username like ...
Quelle est ta version ORacle ? ....
Sinon tu peux essayer ca
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 select sesion.sid, sesion.username, optimizer_mode, hash_value, address, cpu_time, elapsed_time, sql_text from v$sqlarea sqlarea, v$session sesion where sesion.sql_hash_value = sqlarea.hash_value and sesion.sql_address = sqlarea.address and sesion.username is not null
je suis en 10.2
ta requête ne me retourne que 3 lignes alors que dans v$sql_area j'en ai 1738
parce que les sessions sont deconnéctées , dans la jointure tu n'as que les user connectés , ...
alors avec 10G tu a ADDM ,ASH ,AWR mais pour ca il faut la license ...
ces outils sont tres interessants pour avoir les info que tu cherches.
Sinon, tu as v$sqlstats qui contient un peu plus d'info dans le temps que v$sqlarea et moins consommateur aussi
En fait, ce qui m'intéressait c'était surtout de retrouver quel user avait exécuté quelle requête. Avec le champ Parsing_Schema_Name de v$sqlarea je retrouve ce que je veux