`

学习动态性能表5-V$SESSION

阅读更多

在本视图中,每一个连接到数据库实例中的session都拥有一条记录。包括用户session及后台进程如DBWR,LGWR,arcchiver等等。

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在做些什么。

分享到:
评论

相关推荐

    学些动态性能表-word版

    学习动态性能表(六)--v$session_wait&v$session_event 学习动态性能表(七)--v$process 学习动态性能表(八)--v$lock&v$locked_object 学习动态性能表(九)--v$filestat 学习动态性能表(十)--v$session_longops ...

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

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

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

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

    ORACLE動態性能表

    Oracle动态性能表,通常被称为V$视图,是Oracle数据库管理系统中的一个重要组成部分,它提供了对数据库运行时状态的实时信息。这些视图包含了丰富的数据库性能数据,对于DBA(数据库管理员)进行性能监控、问题诊断...

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

    V$视图是一系列动态性能视图的前缀,它们提供当前数据库实例的运行时性能数据。这些视图中的信息对于数据库管理员(DBA)来说至关重要,因为它们包含了影响数据库性能的诸多因素,如系统资源使用情况、内存分配、SQL...

    Oracle 动态性能表

    通过深入学习和理解这些动态性能表,我们可以更好地管理Oracle数据库,提升其性能,确保系统的稳定性和高效性。在实际工作中,结合SQL Trace、AWR(自动工作负载 Repository)和ASH(Active Session History)等工具...

    学习Oracle动态性能表

    通过对这些动态性能表的深入学习,数据库管理员能够更好地监控Oracle数据库的运行状态,及时发现并解决问题,提升整体系统的性能和稳定性。在实际工作中,结合性能监控工具和SQL优化工具,这些视图的数据将发挥巨大...

    Oracle 动态性能表学习

    ### Oracle 动态性能表学习:深入理解 v$sysstat #### 一、v$sysstat 视图概述 在 Oracle 数据库管理中,动态性能视图(Dynamic Performance Views)是一组特殊的内置视图,提供了关于数据库实例及其内部组件的...

    dba_*表和v$表

    其次,"v$"开头的表,也称为动态性能视图,是Oracle提供的一系列实时视图,用于监视数据库的运行状态和性能。"v$"视图的数据是瞬时的,反映了当前数据库的操作情况,如会话信息、SQL语句执行情况、等待事件等。比如...

    oracle动态性能试图表学习

    5. **V$SESSION_WAIT**:揭示了每个会话当前正在等待的事件,有助于找出性能问题的根源,比如锁等待、I/O等待等。 6. **V$PROCESS**:包含了所有后台进程的信息,如进程ID、用户进程、状态等,对于跟踪进程行为和...

    oracle动态性能表

    学习动态性能表 第一篇--v$sysstat 2007.5.23  按照OracleDocument中的描述,v$sysstat存储自数据库实例运行那刻起就开始累计全实例(instance-wide)的资源使用情况。 类似于v$sesstat,该视图存储下列的统计信息...

    oracle学习动态性能表

    其中,`v$sysstat`是Oracle DBA们最为关注的动态性能表之一,它记录了数据库实例自启动以来的各种资源使用情况。本文将基于提供的内容对`v$sysstat`进行详细解读,并探讨其在性能监控和调优中的应用。 #### v$...

    Oracle性能视图学习大全

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

    oracle性能监控常用语句集合

    Oracle提供了大量的动态性能视图(V$视图),通过查询它们可以获取数据库运行时的详细信息。例如,`V$SESSION`用于查看当前会话状态,`V$INSTANCE`显示实例信息,`V$SESSION_WAIT`揭示会话等待事件,而`V$SQL`和`V$...

    学习 Oracle 动态性能表

    总结来说,Oracle动态性能表是性能分析和调优的关键工具,通过对v$sysstat等视图的深入理解和有效利用,DBA可以更好地理解系统行为,定位性能瓶颈,并采取相应措施提升数据库的性能和效率。无论是监控系统资源的使用...

    ORACLE 动态性能视图

    学习和掌握这些动态性能视图的使用,需要结合实际的数据库环境和性能问题进行实践。通过查询和分析这些视图,可以获取到宝贵的诊断信息,进而采取相应的优化措施,提高数据库的运行效率和响应速度。 总的来说,...

    动态性能视图 [数据字典

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

    oracle动态性能视图详解

    通过深入学习和理解这些动态性能视图,数据库管理员和开发人员能够实时监控Oracle数据库的运行状态,及时发现性能问题,从而提高系统的整体性能和稳定性。在实际操作中,结合Oracle的其他工具,如SQL*Plus、企业管理...

    学习动态性能表_all_in_one

    Oracle数据库的动态性能表是DBA进行系统监控和性能调优的重要工具,其中`v$sysstat`是尤为关键的一个视图。这个视图记录了自数据库实例启动以来的全局实例级统计信息,涵盖了从事件发生次数、资源使用总量到执行时间...

Global site tag (gtag.js) - Google Analytics