Au travail, nous partageons les informations d'identification Oracle entre de nombreux développeurs. Souvent, l'équipe chargée du temps exécute de lourdes requêtes ad hoc sur la base de données et cela cause beaucoup de problèmes au serveur Oracle. Nous travaillons pour résoudre ce problème de manière permanente en créant une instance de réplique en lecture seule. En attendant, je voulais savoir si je pouvais rapidement identifier qui sont tous actuellement en session en regardant l'ID utilisateur Windows et/ou les noms de machines, etc., afin que nous n'ayons pas besoin de conserver trop d'informations d'identification pour la base de données.
Est-il également formidable de savoir quel utilisateur/requête crée des problèmes pour le serveur Oracle. Par exemple, une requête a provoqué une panne d'espace temporaire sur le serveur car nous n'avions pas limité la ressource pour le compte.
Veuillez essayer la requête ci-dessous pour voir si cela aide:
select
c.owner,
c.object_name,
c.object_type,
b.sid,
b.serial#,
b.status,
b.osuser,
b.machine
from
v$locked_object a ,
v$session b,
dba_objects c
where
b.sid = a.session_id
and
a.object_id = c.object_id;
vous devez d'abord vous connecter en tant que "sys" et exécuter cette requête
select
c.owner,
c.object_name,
c.object_type,
b.sid,
b.serial#,
b.status,
b.osuser,
b.machine
from
v$locked_object a,
v$session b,
dba_objects c
where
b.sid = a.session_id
and
a.object_id = c.object_id;