`

v$session视图学习

 
阅读更多

V$SESSION是基础信息视图,用于找寻用户SID或SADDR。不过,它也有一些列会动态的变化,可用于检查用户。如例:
SQL_HASH_VALUE,SQL_ADDRESS: 这两列用于鉴别默认被session执行的SQL语句。如果为null或0,那就说明这个session没有执行任何SQL语句。 PREV_HASH_VALUE和PREV_ADDRESS两列用来鉴别被session执行的上一条语句。

注意:当使用SQL*Plus进行选择时,确认你重定义的列宽不小于11以便看到完整的数值。

STATUS:这列用来判断session状态是:
Achtive:正执行SQL语句(waiting for/using a resource)
Inactive:等待操作(即等待需要执行的SQL语句)
Killed:被标注为删除

下列各列提供session的信息,可被用于当一个或多个combination未知时找到session。

Session信息
SID:SESSION标识,常用于连接其它列
SERIAL#:如果某个SID又被其它的session使用的话则此数值自增加(当一个 SESSION结束,另一个SESSION开始并使用了同一个SID)。
AUDSID:审查session ID唯一性,确认它通常也用于当寻找并行查询模式
USERNAME:当前session在oracle中的用户名。

Client信息
数据库session被一个运行在数据库服务器上或从中间服务器甚至桌面通过SQL*Net连接到数据库的客户端进程启动,下列各列提供这个客户端的信息
OSUSER:客户端操作系统用户名
MACHINE:客户端执行的机器
TERMINAL:客户端运行的终端
PROCESS:客户端进程的ID
PROGRAM:客户端执行的客户端程序
要显示用户所连接PC的 TERMINAL、OSUSER,需在该PC的ORACLE.INI或Windows中设置关键字TERMINAL,USERNAME。

Application信息
调用DBMS_APPLICATION_INFO包以设置一些信息区分用户。这将显示下列各列。
CLIENT_INFO:DBMS_APPLICATION_INFO中设置
ACTION:DBMS_APPLICATION_INFO中设置
MODULE:DBMS_APPLICATION_INFO中设置
下列V$SESSION列同样可能会被用到:
ROW_WAIT_OBJ#
ROW_WAIT_FILE#
ROW_WAIT_BLOCK#
ROW_WAIT_ROW#

V$SESSION中的连接列

Column View Joined Column(s)
SID V$SESSION_WAIT,,V$SESSTAT,,V$LOCK,V$SESSION_EVENT,V$OPEN_CURSOR SID
(SQL_HASH_VALUE, SQL_ADDRESS) V$SQLTEXT, V$SQLAREA, V$SQL (HASH_VALUE, ADDRESS)
(PREV_HASH_VALUE, PREV_SQL_ADDRESS) V$SQLTEXT, V$SQLAREA, V$SQL (HASH_VALUE, ADDRESS)
TADDR V$TRANSACTION ADDR

PADDR V$PROCESS ADDR
示例:

1.查找你的session信息

SELECT SID, OSUSER, USERNAME, MACHINE, PROCESS
FROM V$SESSION WHERE audsid = userenv('SESSIONID');

2.当machine已知的情况下查找session
SELECT SID, OSUSER, USERNAME, MACHINE, TERMINAL
FROM V$SESSION
WHERE terminal = 'pts/tl' AND machine = 'rgmdbs1';

查找当前被某个指定session正在运行的sql语句。假设sessionID为100
select b.sql_text
from v$session a,v$sqlarea b
where a.sql_hashvalue=b.hash_value and a.sid=100

寻找被指定session执行的SQL语句是一个公共需求,如果session是瓶颈的主要原因,那根据其当前在执行的语句可以查看session在做些什么。


参考至:http://blog.sina.com.cn/s/blog_621a2bdf0100i6p8.html

如有错误,欢迎指正

邮箱:czmcj@163.com

分享到:
评论

相关推荐

    Oracle的V$性能视图学习大全

    此外,V$视图家族中的V$SQLAREA、V$SQLTEXT、V$SESSION和V$SESS_IO等视图,可以用来查询和分析SQL语句的执行状态和性能。通过这些视图,DBA可以识别出执行时间长、占用资源多的SQL查询,进而对查询语句进行优化。 ...

    Oracle v$bh 视图 详细讲解

    与其他视图(如`v$session`、`v$sql`)结合使用,可以更全面地了解数据库的运行状况。例如,找出频繁访问热点块的会话,或者分析导致缓冲区锁定的SQL语句。 **6. 实践应用** 在实际工作中,可以编写SQL查询来监控...

    Oracle性能视图学习大全

    ### Oracle性能视图学习大全详解 #### 一、引言 在Oracle数据库管理与优化领域,深入了解和利用Oracle性能视图(V$视图)至关重要。随着Oracle版本的不断升级,V$视图的数量也在不断增加,从Oracle 6时代的23个到...

    ORACLE動態性能表

    - V$SESSION视图用于监控活动会话,包括用户会话和后台进程。 - V$SESSION_WAIT显示会话当前正在等待的事件,这对于识别阻塞问题很有帮助。 5. **故障排除** - 锁定和等待事件:V$LOCK和V$SESSION_WAIT可以帮助...

    学习动态性能表(11)--v$latch$v$latch_children

    【学习动态性能表(11)--v$latch$v$latch_children】主要关注Oracle数据库中的动态性能视图,尤其是关于latch这一关键概念的监控和分析。latch是一种轻量级的锁定机制,用于保护SGA(System Global Area)中的共享...

    oracle10g_V$_View & asm

    例如,V$SESSION视图提供了当前活跃会话的信息,V$INSTANCE视图显示了数据库实例的详细配置,而V$WAITSTAT则可以帮助分析系统的等待事件,从而定位性能瓶颈。 在"oracle10g_V$_Views.pdf"中,可能包含了对Oracle 10...

    dba_*表和v$表

    在Oracle数据库管理系统中,"dba_"开头的表和"v$"开头的表是两种非常重要的...通过学习这些资料,你可以深入理解如何利用"dba_"和"v$"视图进行有效的数据库管理,从而提高工作效率,确保数据库系统的稳定性和高效性。

    9i + 10G view视图

    "10g_view.pdf"和"oracle9i常用动态性能表.pdf"这两个文档很可能包含了对这些视图的详细解释和使用示例,适合数据库管理员学习和参考。通过深入理解和使用这些视图,可以有效地管理和优化Oracle数据库,确保系统的...

    学习Oracle动态性能表

    4. **v$session_wait&v$session_event**:这两个视图分别显示了会话等待事件和会话触发的事件。通过分析等待事件,可以找出哪些会话在等待什么资源,从而定位性能问题。 5. **v$lock&v$locked_object**:v$lock视图...

    oracle动态性能视图详解

    7. **V$SESSION**: 和V$SESSION_WAIT一起,这些视图揭示了会话的当前等待状态,是识别性能问题的关键。 8. **V$ROWCACHE**: 这个视图关注的是行缓存,显示了关于缓冲区高速缓存的详细信息,如命中率和缓存活动。 9...

    oracle11g数据字典以及性能视图

    通过分析`V$视图`,DBA可以识别性能瓶颈,比如通过`V$SESSION_WAIT`查看会话等待事件,`V$SQLAREA`和`V$SQL`用于找出执行效率低下的SQL语句。`AWR`(Automatic Workload Repository)和`ASH`(Active Session ...

    Oracle10g_Views.pdf

    这些视图以`V$`开头,如`V$SESSION`、`V$INSTANCE`、`V$SQL`等,它们用于性能调优、故障诊断和资源管理。 1. `V$SESSION`:显示当前会话的信息,包括会话ID、用户、进程状态等。 2. `V$INSTANCE`:提供关于Oracle...

    oracle监听执行sql语句

    这个复杂的查询组合了`v$session`、`v$session_wait`、`v$sess_io`和`v$process`四个视图的数据,用于找出物理I/O消耗最大的会话。通过这种方式,我们可以迅速发现并解决潜在的I/O瓶颈问题。 #### 四、总结 通过...

    学习动态性能表(一)--v$sysstat

    `v$sysstat` 是Oracle数据库中的一个重要动态性能视图,它记录了数据库实例自启动以来的各种系统级别的统计信息,帮助DBA监控和优化数据库性能。这个视图提供了实例级别的资源使用情况,涵盖了事件计数、总量统计...

    oracle性能监控常用语句集合

    例如,`V$SESSION`用于查看当前会话状态,`V$INSTANCE`显示实例信息,`V$SESSION_WAIT`揭示会话等待事件,而`V$SQL`和`V$SQLAREA`则用于分析SQL性能。 2. **系统资源监控**: - `SELECT * FROM V$PGA_MEMORY_...

    ORACLE 动态性能视图

    1. V$SESSION:此视图提供了关于当前会话的信息,如用户、主机名、当前SQL语句等。通过分析V$SESSION,可以找出资源消耗大的会话并进行优化。 2. V$SQL:存储了所有已解析的SQL语句,包括执行计划、统计信息和执行...

    Oracle 动态性能表

    1. **V$SESSION**: 这个视图提供了当前会话的信息,包括用户会话ID、登录用户名、主机名、等待事件等,是分析会话性能问题的重要入口。 2. **V$INSTANCE**: 描述了Oracle实例的基本信息,如实例名、数据库名、启动...

    动态性能视图 [数据字典

    这些视图以V$开头,如V$SESSION、V$SYSTEM_EVENT和V$SQL等,它们提供了对数据库当前状态的快照,帮助管理员识别和解决性能问题。例如,V$SESSION可以显示当前会话的详细信息,而V$SQL则可以跟踪SQL语句的执行情况,...

    数据库管理员日常工作中必备的 sql

    8. 获取process/session的状态:通过联合v$process和v$session视图,可以得到进程的状态信息,这对于诊断和解决会话相关问题非常有用。 9. 获取当前session的状态:管理员可能需要实时了解session的状态信息,这...

Global site tag (gtag.js) - Google Analytics