`
hougbin
  • 浏览: 502514 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

oracle 常用视图之-----v$session

阅读更多

作用:每一个连接到Oracle数据库的会话都能在该视图中对应一条记录,根据该视图中的信息可以查询该会话使用的用户,正在执行或者刚刚执行的SQL语句,连接者的信息等。

 

比较有用的字段:

    

SID:会话的标识,具有唯一性,通常要对某个会话进行分析前,首先就需要获得该会话的SID。

SERIAL#:会话的序号。

SADDR:会话所属进程的地址,关联V$PROCESS视图即可查到该会话的所属进程,然后再通过V$PROCESS视图得到对应的操作系统进程号(Windows对应的是线程号)。

USERNAME:创建该会话的用户名。

CLIENT_INFO:还记得SET COMMAND ID命令吗?该命令设置的值就会在V$SESSION.CLIENT_INFO中体现。

OSUSER:客户端操作系统的用户名。

MACHINE:客户端的机器名。

TERMINAL:客户端运行的终端名。

PROGRAM:客户端执行的程序名。

SQL_ADDRESS:执行SQL的地址。

SQL_HASH_VALUE:执行SQL的HASH值,与SQL_ADDRESS关联查询其他SQL相关视图后即可查询会话当前正在执行的SQL语句。

 EVENT:当前会话的等待事件。

  USER#  使用的oracle 用户名对应的id

   LOCKWAIT  锁的状态

   STATUS 会话状态 ACTIVE , INACTIVE, KILLED, CACHED , SNIPED 

结构:

SQL> desc v$session;
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------

 SADDR                                              RAW(4)
 SID                                                NUMBER
 SERIAL#                                            NUMBER
 AUDSID                                             NUMBER
 PADDR                                              RAW(4)
 USER#                                              NUMBER
 USERNAME                                           VARCHAR2(30)
 COMMAND                                            NUMBER
 OWNERID                                            NUMBER
 TADDR                                              VARCHAR2(8)
 LOCKWAIT                                           VARCHAR2(8)
 STATUS                                             VARCHAR2(8)
 SERVER                                             VARCHAR2(9)
 SCHEMA#                                            NUMBER
 SCHEMANAME                                         VARCHAR2(30)
 OSUSER                                             VARCHAR2(30)
 PROCESS                                            VARCHAR2(12)
 MACHINE                                            VARCHAR2(64)
 TERMINAL                                           VARCHAR2(16)
 PROGRAM                                            VARCHAR2(64)
 TYPE                                               VARCHAR2(10)
 SQL_ADDRESS                                        RAW(4)
 SQL_HASH_VALUE                                     NUMBER
 PREV_SQL_ADDR                                      RAW(4)
 PREV_HASH_VALUE                                    NUMBER
 MODULE                                             VARCHAR2(48)
 MODULE_HASH                                        NUMBER
 ACTION                                             VARCHAR2(32)
 ACTION_HASH                                        NUMBER
 CLIENT_INFO                                        VARCHAR2(64)
 FIXED_TABLE_SEQUENCE                               NUMBER
 ROW_WAIT_OBJ#                                      NUMBER
 ROW_WAIT_FILE#                                     NUMBER
 ROW_WAIT_BLOCK#                                    NUMBER
 ROW_WAIT_ROW#                                      NUMBER
 LOGON_TIME                                         DATE
 LAST_CALL_ET                                       NUMBER
 PDML_ENABLED                                       VARCHAR2(3)
 FAILOVER_TYPE                                      VARCHAR2(13)
 FAILOVER_METHOD                                    VARCHAR2(10)
 FAILED_OVER                                        VARCHAR2(3)
 RESOURCE_CONSUMER_GROUP                            VARCHAR2(32)
 PDML_STATUS                                        VARCHAR2(8)
 PDDL_STATUS                                        VARCHAR2(8)
 PQ_STATUS                                          VARCHAR2(8)
 CURRENT_QUEUE_DURATION                             NUMBER
 CLIENT_IDENTIFIER                                  VARCHAR2(64)

 

每个字段的含义:

v$session表每个字段的意义:
$SESSION
This view lists session information for each current session.

Column   Datatype   Description  
SADDR 
RAW(4) 
Session address 

SID 
NUMBER 
Session identifier 

SERIAL# 
NUMBER 
Session serial number. Used to identify uniquely a session's objects. Guarantees that session-level commands are applied to the correct session objects if the session ends and another session begins with the same session ID 

AUDSID 
NUMBER 
Auditing session ID 

PADDR 
RAW(4) 
Address of the process that owns this session 

USER# 
NUMBER 
Oracle user identifier 

USERNAME 
VARCHAR2(30) 
Oracle username 

COMMAND 
NUMBER 
Command in progress (last statement parsed); for a list of values, see Table 3-7 

OWNERID 
NUMBER 
The column contents are invalid if the value is 2147483644. Otherwise, this column contains the identifier of the user who owns the migratable session

For operations using Parallel Slaves, interpret this value as a 4Byte value. The low-order 2Bytes of which represent the session number, and the high-order bytes the instance ID of the query coordinator 

TADDR 
VARCHAR2(8) 
Address of transaction state object 

LOCKWAIT 
VARCHAR2(8) 
Address of lock waiting for; NULL if none 

STATUS 
VARCHAR2(8) 
Status of the session: ACTIVE (currently executing SQL), INACTIVE, KILLED (marked to be killed), CACHED (temporarily cached for use by Oracle*XA), SNIPED (session inactive, waiting on the client) 

SERVER 
VARCHAR2(9) 
Server type: DEDICATED, SHARED, PSEUDO, NONE 

SCHEMA# 
NUMBER 
Schema user identifier 

SCHEMANAME 
VARCHAR2(30) 
Schema user name 

OSUSER 
VARCHAR2(15) 
Operating system client user name 

PROCESS 
VARCHAR2(9) 
Operating system client process ID 

MACHINE 
VARCHAR2(64) 
Operating system machine name 

TERMINAL 
VARCHAR2(10) 
Operating system terminal name 

PROGRAM 
VARCHAR2(48) 
Operating system program name 

TYPE 
VARCHAR2(10) 
Session type 

SQL_ADDRESS 
RAW(4) 
Used with SQL_HASH_VALUE to identify the SQL statement that is currently being executed 

SQL_HASH
_VALUE 
NUMBER 
Used with SQL_ADDRESS to identify the SQL statement that is currently being executed 

MODULE 
VARCHAR2(48) 
Contains the name of the currently executing module as set by calling the DBMS_APPLICATION_INFO.SET_MODULE procedure 

MODULE_HASH 
NUMBER 
The hash value of the above MODULE 

ACTION 
VARCHAR2(32) 
Contains the name of the currently executing action as set by calling the
DBMS_APPLICATION_INFO.SET_ACTION procedure 

ACTION_HASH 
NUMBER 
The hash value of the above action name 

CLIENT_INFO 
VARCHAR2(64) 
Information set by the DBMS_APPLICATION_INFO.SET_CLIENT_INFO procedure 

FIXED_TABLE
_SEQUENCE 
NUMBER 
This contains a number that increases every time the session completes a call to the database and there has been an intervening select from a dynamic performance table. This column can be used by performance monitors to monitor statistics in the database. Each time the performance monitor looks at the database, it only needs to look at sessions that are currently active or have a higher value in this column than the highest value that the performance monitor saw the last time. All the other sessions have been idle since the last time the performance monitor looked at the database 

ROW_WAIT_OBJ# 
NUMBER 
Object ID for the table containing the ROWID specified in ROW_WAIT_ROW# 

ROW_WAIT_FILE# 
NUMBER 
Identifier for the datafile containing the ROWID specified in ROW_WAIT_ROW#. This column is valid only if the session is currently waiting for another transaction to commit and the value of ROW_WAIT_OBJ# is not -1 

ROW_WAIT
_BLOCK# 
NUMBER 
Identifier for the block containing the ROWID specified in ROW_WAIT_ROW#. This column is valid only if the session is currently waiting for another transaction to commit and the value of ROW_WAIT_OBJ# is not -1 

ROW_WAIT_ROW# 
NUMBER 
The current ROWID being locked. This column is valid only if the session is currently waiting for another transaction to commit and the value of ROW_WAIT_OBJ# is not -1 

LOGON_TIME 
DATE 
Time of logon 

LAST_CALL_ET 
NUMBER 
The last call 

PDML_STATUS 
VARCHAR2(8) 
If ENABLED, the session is in a PARALLEL DML enabled mode. If DISABLED, PARALLEL DML enabled mode is not supported for the session. If FORCED, the session has been altered to force PARALLEL DML. 

PDDL_STATUS 
VARCHAR2(8) 
If ENABLED, the session is in a PARALLEL DDL enabled mode. If DISABLED, PARALLEL DDL enabled mode is not supported for the session. If FORCED, the session has been altered to force PARALLEL DDL. 

PDML_ENABLED 
VARCHAR2(3) 
This column has been replaced by PDML_ENABLED and PDML_STATUS. See above. 

FAILOVER_TYPE 
VARCHAR2(10) 
NONE if failover is disabled for this session, SESSION if client is able to failover its session following a disconnect, and SELECT if client is able to fail over selects in progress as well 

FAILOVER
_METHOD 
VARCHAR2(3) 
NONE if failover is disabled for this session, BASIC if client reconnects following a disconnect, PRECONNECT if the backup instance is able to support all connections from every instance that it is backup for 

FAILED_OVER 
VARCHAR2(13) 
TRUE if running in failover mode and have failed over, otherwise FALSE 

RESOURCE_CONSUMER_GROUP 
VARCHAR2(32) 

常用的命令:

查询每台应用服务器占用oracle数据库会话情况

select machine, count(*) c from v$session group by machine order by c desc;

 

根据机器名查询该机器发出的所有会话

select t.STATE,t.* from v$session  t where t.MACHINE like '%computername%'

 

查询当前数据库连接会话中正在等待资源或者事件的信息

select * from v$session_wait

 

通过sid或者session对应的完整sql

select sql_text from v$sqltext a where a.hash_value = (select sql_hash_value from v$session b where b.sid = '&sid'    )
order by piece asc

 

#查看某个表的索引

select index_name,index_type from user_indexes where table_name = '&tableName'

 

 

中断回话
ALTER SYSTEM KILL SESSION 'SID,SERIAL#';

 

分享到:
评论

相关推荐

    oraclev$sessionv$session_wait用途详解

    `v$session`视图提供了关于当前所有会话(包括用户会话和后台进程)的信息,是Oracle数据库中最常用的动态性能视图之一。它包含了如会话状态、会话等待信息、资源限制、SQL执行历史等重要数据,通过查询该视图,管理...

    Oracle v$sqlarea, v$sql, v$sqltext视图说明

    简单描述Oracle v$sqlarea, v$sql, v$sqltext视图说明

    oracle_v$session_v$session_wait用途详解

    Oracle 数据库提供了大量的动态性能视图(Dynamic Performance Views),其中 `V$SESSION` 和 `V$SESSION_WAIT` 是两个非常重要的视图,它们能够帮助数据库管理员深入了解当前会话的状态以及等待事件的信息。...

    oracle 动态性能视图 (x$, v$, gv$, v_$, gv_$)

    V$视图包括了如`V$SESSION`(会话信息)、`V$DATABASE`(数据库信息)、`V$PARAMETER`(参数设置)等,覆盖了数据库性能监控、资源管理、配置设置等多个方面。V$视图通过公共同义词(Public Synonym)前缀为V$的形式...

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

    Oracle数据库作为一款成熟的数据库产品,在各个版本的发展中,其性能优化和监控功能不断增强,其中V$性能视图作为核心组件之一,是深入了解数据库运行状态和性能优化的重要工具。V$视图是一系列动态性能视图的前缀,...

    oracle 常用视图

    Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的功能和工具,其中包括视图(View)这一重要概念。视图是数据库中的虚拟表,它是基于一个或多个表的查询结果集,可以简化复杂的查询操作,提高数据...

    Oracle性能视图学习大全

    在Oracle数据库管理与优化领域,深入了解和利用Oracle性能视图(V$视图)至关重要。随着Oracle版本的不断升级,V$视图的数量也在不断增加,从Oracle 6时代的23个到10g R2的372个,这反映了Oracle数据库复杂性的增长...

    oracle 动态性能(V$)视图

    Oracle数据库中的动态性能(V$)视图是数据库管理员和开发人员获取实时数据库状态信息的重要工具。这些视图提供了丰富的信息,涵盖了从SQL执行情况、系统资源使用到数据库等待事件等各个方面,极大地帮助了性能调优...

    oracle常用系统视图+导入导出

    这篇博客主要聚焦于Oracle的常用系统视图以及数据导入导出的相关操作,这对于数据库管理员和开发人员来说非常重要。 首先,我们来看“0001-Oracle-系统-视图.sql”。这个文件很可能包含了创建和查询Oracle系统视图...

    Oracle动态性能视图

    V$视图是Oracle数据库管理的核心工具之一,它们能够提供全面且准确的数据库内部信息,是提升数据库管理水平的关键。 #### 四、Oracle动态性能视图的创建与访问 - **创建**:V$视图是由`catalog.sql`脚本创建的。...

    oracle九大性能视图

    例如,当遇到性能瓶颈时,可以通过查询`V$SESSION`和`V$LOCK`视图来定位锁定问题;通过`V$BUFFER_POOL`和`V$ROWCACHE`视图来优化缓存策略;通过`V$SYSSTAT`视图来监控整体性能等。此外,熟练掌握这些视图还有助于...

    oracle 常用表和视图

    Oracle数据库是世界上最广泛使用的数据库管理系统之一,其丰富的系统表和视图为DBA(数据库管理员)提供了管理和监控数据库的强大工具。这些表和视图主要分为三类:以`dba_`开头、`user_`开头以及`v$`开头。下面我们...

    常用oracle动态性能视图

    V$SESSION 视图是 Oracle 提供的核心性能监视视图之一,它记录了所有与数据库实例建立连接的会话(session)信息,包括用户会话和后台进程,如 DBWR(数据库写进程)、LGWR(日志写进程)和归档进程等。通过 V$...

    Oracle v$bh 视图 详细讲解

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

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

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

    常用的oracle表和视图

    ### 常用的Oracle表和视图知识点详解 #### 一、查询某个表在哪些存储过程中被使用 为了高效地了解某个特定表在哪些存储过程中被引用,可以通过以下SQL查询来实现: ```sql SELECT A.NAME AS 过程名称, MIN(A.LINE...

    Oracle10g DBA经常使用的动态性能视图和数据字典

    本文将详细介绍Oracle10g DBA常用的几个数据字典视图和动态性能视图,帮助读者更好地理解和利用这些资源。 #### 一、DBA最常用的数据字典 数据字典是存储在SYSTEM表空间中的一系列特殊表,它们提供了关于数据库...

    oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm

    对于“监控”这个标签,安装完Oracle Instant Client后,可以使用它来连接到数据库并执行性能监视查询,如`v$session_wait`、`v$process`和`v$sysstat`视图,以了解数据库的运行状况。还可以集成其他监控工具,如...

Global site tag (gtag.js) - Google Analytics