(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到现在的时间; 如果session状态为inactive,则该值表示session成为inactive到现在的时间 通过该列可以确定会话的非活动时间,对于清理长时间不活动的会话,非常有用 |
| 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相差不大,不再介绍。