v$session & v$session_wait
(1)v$session
v$session视图记录了当前连接到数据库的session信息
Column | Description |
SADDR | session address |
SID | Session identifier |
SERIAL# | session序列号,当某个session结束,另一个新开始的session使用了前者的sid,则此数值自加1 |
AUDSID | auditing session ID,具有唯一性 |
PADDR | session对应的操作系统进程地址 |
USER# | Oracle user number |
USERNAME | Oracle user name |
COMMAND | 当前session正在执行的sql命令类型,具体编号代表什么可以查看v$sqlcommand |
lOCKWAIT | 正在等待的会话需要的的锁的地址,如果没有锁,则为空。(oracle:address of the lock the session is waiting for;NULL if none) |
STATUS | session的状态: --ACTIVE:当前session正在执行SQL; --INACTIVE:等待操作,即等待执行SQL语句; --KILLED:session被标注为KILLED、 --等等… |
SERVER | server类型有: --DECICATED --SHARED --PSEUDO --POLLED --NONE |
SCHEMA | schema用户id |
SCHEMANAME | schema用户名 |
OSUSER | 连接到数据库的操作系统用户名 |
PROCESS | 操作系统进程编号 |
MACHINE | 连接到数据库的机器名称 |
PORT | 连接到数据库的客户端端口 |
TERMINAL | 连接到数据库的终端名称 |
PROGRAM | 客户端执行的客户端程序 |
TYPE | session类型 |
SQL_ADDRESS | 与“SQL_HASH_VALUE”一起去确认当前正在被执行的SQL语句 |
SQL_HASH_VALUE | 与“SQL_ADDRESS”一起去确认当前正在被执行的SQL语句 |
SQL_ID | 当前正在被执行的SQL语句的ID |
LOGON_TIME | 登录时间 |
LAST_CALL_ET |
如果session状态为active,则该值表示session成为active到现在的时间; 通过该列可以确定会话的非活动时间,对于清理长时间不活动的会话,非常有用 |
SEQ# | 唯一标识session当前或最后等待的数目(每次等待都递增) |
EVENT# | event number |
EVENT | session正在等待的事件 |
注:COMMAND:表明当前session正在执行的sql命令类型。
SQL> select * from v$sqlcommand; COMMAND_TYPE COMMAND_NAME ------------ ---------------------------------------------------------------- 0 1 CREATE TABLE 2 INSERT 3 SELECT 4 CREATE CLUSTER 5 ALTER CLUSTER 6 UPDATE 7 DELETE
… …
(2)v$session_wait
v$session_wait记录了当前或最近等待的session信息,其列信息与v$session相差不大,不再介绍。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?