如何找出谁处于活动状态并锁定oracle数据库?

3 oracle

在工作中,我们在许多开发人员之间共享 Oracle 凭据。团队经常在数据库上运行大量的即席查询,这给 oracle 服务器造成了很多麻烦。我们正在努力通过创建只读副本实例来永久解决此问题。同时,我想知道是否可以通过查看 Windows 用户 ID 和/或机器名称等来快速识别当前正在会话中的所有人,这样我们就不需要为数据库维护太多凭据。

如果我能找出哪个用户/查询给 oracle 服务器带来了麻烦,那也很棒。例如,一个查询导致服务器中的临时空间中断,因为我们没有限制帐户的资源。

小智 5

请尝试以下查询,看看它是否有帮助:

  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;
Run Code Online (Sandbox Code Playgroud)

  • 对于`dba_objects`,我得到`ORA-00942:表或视图不存在`:( (2认同)