当前位置:数据库 > Oracle >>

Oracle V$SESSION

Oracle V$SESSION
 
SADDR session address
SID session identifier 常用于链接其他列
SERIAL# SID有可能会重复,当两个session的SID重复时,SERIAL#用来区别session(说白了某个session是由sid和serial#这两个值确定的)
AUDSID audit session id.可以通过audsid查询当前session的sid.select sid from v$session where audsid=userenv('sessionid');
PADDR process address,关联v$process的addr字段,通过这个可以查询到进程对应的session
USER# 同于dba_users中的user_id,Oracle内部进程user#为0.
USERNAME session's username.等于dba_users中的username.Oracle内部进程的username为空.
COMMAND session正在执行的sql id,1代表create table,3代表select.
TADDR 当前的transaction address.可以用来关联v$transaction中的addr字段.
LOCKWAIT 可以通过这个字段查询出当前正在等待的锁的相关信息.sid + lockwait与v$loc中的sid + kaddr相对应.
STATUS 用来判断session状态.Active:正执行SQL语句.inactive:等待操作.killed:被标注为杀死.
SERVER 服务类型.
SCHEMA# schema user id.Oracle内部进程的schema#为0.
SCHEMANAME schema username.Oracle内部进程的为sys.
OSUSER 客户端操作系统用户名.
PROCESS 客户端process id.
MACHINE 客户端machine name.
TERMINAL 客户端执行的terminal name.
PROGRAM 客户端应用程序.比如ORACLE.EXE或sqlplus.exe
TYPE session类型.
SQL_ADDRESS,
SQL_HASH_VALUE,
SQL_ID,SQL_CHILD_NUMBER session正在执行的sql状态,和v$sql中的address,hash_value,sql_id,child_number对应.
PREV_SQL_ADDR,
PREV_HASH_VALUE,
PREV_SQL_ID,
PREV_CHILD_NUMBER 上一次执行的sql状态.
MODULE,
MODULE_HASH,
ACTION,
ACTION_HASH,
CLIENT_INFO 应用通过DBMS_APPLICATION_INFO设置的一些信息.
FIXED_TABLE_SEQUENCE 当session完成一个user call后就会增加的一个数值,也就是说,如果session挂起,它就不会增加.因此可以根据这个字段来监控某个时间点以来的session性能情况.例如,一个小时前某个session的此字段数值为10000,而现在是20000,则表明一个小时内其user call较频繁,可以重点关注此session的performance statistics.
ROW_WAIT_OBJ# 被锁定行所在table的object_id.和dba_object中的object_id关联可以得到被锁定的table name.
ROW_WAIT_FILE# 被锁定行所在的datafile id.和v$datafile中的file#关联可以得到datafile name.
ROW_WAIT_BLOCK# 同上,对应块.
ROW_WAIT_ROW# session当前正在等待的被锁定的行.
LOGON_TIME session logon time.

 

查询锁住对象的会话信息:

SELECT OBJECT_NAME, MACHINE, S.SID, S.SERIAL#  
  FROM GV$LOCKED_OBJECT L, DBA_OBJECTS O, GV$SESSION S  
 WHERE L.OBJECT_ID  = O.OBJECT_ID  
   AND L.SESSION_ID = S.SID;  

销毁会话:
ALTER SYSTEM KILL SESSION 'SID, #SERIAL';  

查看当前会话所执行的语句以及会话相关信息:
SELECT A.SID, A.SERIAL#, A.USERNAME, A.TERMINAL, A.PROGRAM, S.SQL_TEXT  
  FROM V$SESSION A, V$SQLAREA S  
 WHERE A.SQL_ADDRESS = S.ADDRESS(+)  
   AND A.SQL_HASH_VALUE = S.HASH_VALUE(+)  
 ORDER BY A.USERNAME, A.SID;  

 

 
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,