我们有应用程序ID(假设APP_ID)连接到数据库并使用dbms_session.set_context()为VPD设置实际登录用户(例如:user1,user2)。
对于查询中的性能问题,我们希望识别运行它的用户(user1,user2)。有没有办法通过提供sid来获取连接的dbms_session.get_context()?
我知道可以创建应用程序登录或dba跟踪或记录信息的程序......我只是想知道,有没有开箱即用的方式?
答案 0 :(得分:0)
如果您正在运行DBA,则应该可以访问V$SESSION
view。
像这样的简单查询将为您提供所有连接的sids&他们的用户名:
select
substr(sid,1,5) sid,
substr(serial#,1,5) ser_num,
substr(machine,1,6) box,
substr(username,1,10) username,
substr(osuser,1,8) os_user,
substr(program,1,30) program
from v$session
where
and type='USER'
order by username;
如果您只是在寻找实际运行的查询和用户/ sid,您可以运行此answer中所述的内容。