【发布时间】:2012-04-01 09:05:34
【问题描述】:
没有数据库管理员权限的普通开发人员如何查看活动的数据库连接——尤其是他们“拥有”的那些?不确定这是否是正确的数据库术语。 (使用 JDBC、Oracle 和 SQL Plus 用 Java 编写的应用程序)。
【问题讨论】:
标签: oracle jdbc database-connection sqlplus
没有数据库管理员权限的普通开发人员如何查看活动的数据库连接——尤其是他们“拥有”的那些?不确定这是否是正确的数据库术语。 (使用 JDBC、Oracle 和 SQL Plus 用 Java 编写的应用程序)。
【问题讨论】:
标签: oracle jdbc database-connection sqlplus
您不需要管理员权限,但您需要具有查询V$SESSION 表的权限(如果您碰巧使用的是 RAC,则需要GV$SESSION)。您的 DBA 可以授予您仅查询该表的权限
GRANT SELECT ON sys.v_$session TO <<your user name>>
或者 DBA 可以授予您的用户SELECT ANY DICTIONARY 权限或SELECT_CATALOG_ROLE 角色。
如果您拥有其中一项授权,您应该能够查询V$SESSION 以查看数据库中的所有会话。
SELECT sid, serial#, username, osuser, machine, terminal, program
FROM v$session
WHERE username = <<some user name>>
将显示特定用户打开的数据库中的所有会话。
【讨论】: