v$session

顾名思义,session视图,这个视图太重要了。

常用列

select
sid,serial#,audsid,
user#,username,
status
from v$session;

查看最近登录的用户

select
*
from v$session
where username is not null  -- 这句不要少  username is null 说明是oracle内部的(待确认)
order by logon_time,sid;

查看当前session

不只一种方法:

-- 通过v$mystat视图来看(rownum=1 是因为这个查询会返回多条sid相同的记录,取一条即可)
select sid from v$mystat where rownum =1;
-- 通过环境变量来返回
select userenv('sid') from dual;
-- 这种也可以
select sid from v$session where audsid=userenv('sessionid');

v S e s s i o n 详 解 从 O r a c l e 10 g R 1 开 始 , O r a c l e 在 V Session详解 从Oracle10gR1开始,Oracle在V Session详解从Oracle10gR1开始,Oracle在VSESSION中增加关于等待事件的字段,实际上也就是把原来V S E S S I O N W A I T 视 图 中 的 所 有 字 段 全 部 整 合 到 了 V SESSION_WAIT视图中的所有字段全部整合到了V SESSIONW​AIT视图中的所有字段全部整合到了VSESSION视图中,开始的时候我还以为ASH是依赖联合查询来获取信息的,仔细一看才发现现在V S E S S I O N 已 经 发 生 了 变 化 。 ( 如 果 进 一 步 研 究 你 会 发 现 , 实 际 上 V SESSION已经发生了变化。(如果进一步研究你会发现,实际上V SESSION已经发生了变化。(如果进一步研究你会发现,实际上VSESSION的底层查询语句及X$表已经有了变化)

这一变化使得我们的查询得以简化,但是也使得V S E S S I O N W A I T 开 始 变 得 多 余 , 此 外 V SESSION_WAIT开始变得多余,此外V SESSIONW​AIT开始变得多余,此外VSESSION中还增加了BLOCKING_SESSION等字段,以前我们需要通dba_waiters等视图才能获得的信息,现在也可以直接从V S E S S I O N 中 得 到 了 。 既 然 这 样 , 让 我 们 好 好 研 究 V SESSION中得到了。既然这样,让我们好好研究V SESSION中得到了。既然这样,让我们好好研究VSESSION视图中每个字段的含义。

    首先,请看官方文档上面关于V$SESSION字段的说明:v$session:This view has one row for every session connected to the database instance. The sessions include user sessions, as well as background processes like DBWR, LGWR, archiver.

1、SADDR --Session address Session地址

2、SID --Session identifier Session ID

3、SERIAL#
官方解释:Session serial number. Used to uniquely identify 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.
sid 会重用,但是同一个SID被重用时,serial#会增加,不会重复。
比如说你在10:00时发现有一个SID 为10 ,serial#为100的session 不正常,想杀掉他,要是直接用kill sid 10 ,而同时这个session 主动退出,新session近来 而又正好用了 10这个SID (这时新session的serial#不会=100,只会比100高),就会发生误杀的情况。所以Oracle要求我们在杀session时,必须同时指定sid和serial#.
从另外一个角度上说,sid 在同一个instance的当前session中是一个unique key, 而sid ,serial#则是在整个instance生命期内的所有session中是unique key。(不考虑serial#超过最大值,重用的情况)

3、AUDSID --Auditing session ID

  from asktomthe audsid column is populated via a sequence and for normalsessions is the same as "userenv('sessionid')" -- but for some background sessions -- it is not set(it comes back as "0" making the view not work.So, I'd just ignore "audsid" for now and use SID.

4、paddr ,这个我们要和saddr、taddr一起讲一下

  saddr(session address):表示当前记录的内存地址;paddr(process address):该session对应的进程地址,关联v$process的addr字段,可以通过这个字段查处当前session对应操作系统的那个进程的id;taddr(transation address):当前有活动事务的地址,关联v$transaction表的addr,通过这个字段关联查出当前session正在使用的回滚段的情况,以及当前事务的大小等信息

5、USER#、USERNAME 表示登录的用户名编号和用户名,比如说sytem、test等,如果没有说明是后台进程产生的session。

  比如说:QMNC、MMON 、MMNL 等后台经常,这是时候我们可以看看v$session 的PROGRAM字段。

6、COMMAND Command in progress (last statement parsed); for a list of values, seeTable 7-5. These values also appear in the AUDIT_ACTIONStable.

COMMAND Column of V$SESSION and Corresponding Commands

Number

Command

Number

Command

7、OWNERID

   如果值为2147483644,则此列的内容无效。否则此列包含拥有可移植会话的用户标符。对于利用并行从服务器的操作,将这个值解释为一个48 字节的值。其低位两字节表示会话号,而高位字节表示查询协调程序的实例ID

8、LOCKWAIT Address of lock waiting for; null if none

  等待锁的地址;如果没有,为NULL

9、STATUS

    Status of the session:

ACTIVE - Session currently executing SQL

INACTIVE

KILLED - Session marked to be killed

CACHED - Session temporarily cached for use by Oracle*XA

SNIPED - Session inactive, waiting on the client

     文档里面已经说的比较清楚了

10、SERVER

     服务器类型:DEDICATED(独有)、SHARED(共享)、PSEUDO、NONE服务器类型在安装时候已经选择了,我们一般选择DEDICATED模式,非共享。

11、SCHEMA# 模式用户标识符

12、SCHEMANANME 模式用户名、OSUSER 操作系统客户机用户

13、PROCESS 操作系统客户机进程ID

   关于v$process与v$session中process的理解说明v$session有个process字段,V$PROCESS有个SPID字段,这两个字段是不是一个意思呢?是不是都代表会话的操作系统进程呢?官方文档上的解释:SPID      VARCHAR2(12)  Operating system process identifierPROCESS   VARCHAR2(9)   Operating system client process ID本文以数据库服务器安装在linux上为例进行说明。V$PROCESS中的SPID表示的是操作系统的进程,v$session中的process表示客户端进程ID,即客户端进程在客户端机器上的进程ID号。一个表示客户端进程在客户端机器上的进程号,一个表示服务器进程在服务器上的进程号。连接服务器的会话,发起会话的客户端进程可能是unix进程,也可能是windows进程。-------------------windows客户端进程-------------------例如,使用windows进程连接unix上的数据库,对应会话sid=35,对应客户端windows的988:5412

14、MACHINE 操作系统机器名、TERMINAL 操作系统终端名

      可以根据主terminal查询客户端的ipselect utl_inaddr.get_host_address(terminal) from v$session where username is not null;

15、PROGRAM 操作系统程序名

    通过本机连接的session,一般都有program。如果是通过服务器连接的session,一般都没有program。

16、TYPE 会话类型

      一般有两个类型:background(后台进程)、user(用户)

17、SQL_ADDRESS

   Used with SQL_HASH_VALUE to identify the SQL statement that is currently being executed当前正在执行的SQL语句的SQL_HASH_VALUE值

18、SQL_HASH_VALUE

    Used with SQL_ADDRESS to identify the SQL statement that is currently being executed当前正在执行的SQL语句的SQL_ADDRESS值SQL_HASH_VALUE,SQL_ADDRESS:这两列用于鉴别默认被session执行的SQL语句。如果为null或0,那就说明这个session没有执行任何SQL语句。PREV_HASH_VALUE和PREV_ADDRESS两列用来鉴别被session执行的上一条语句。

19、SQL_ID

     SQL identifier of the SQL statement that is currently being executed正在执行的SQL语句的标识符

20、SQL_CHILD_NUMBER

     Child number of the SQL statement that is currently being executed

21、PREV_SQL_ADDR

     Used with PREV_HASH_VALUE to identify the last SQL statement executed

22、PREV_HASH_VALUE

      Used with SQL_HASH_VALUE to identify the last SQL statement executed

23、MODULE、ACTION

     Name of the currently executing module as set by calling the DBMS_APPLICATION_INFO.SET_MODULE procedure

[sql] view plaincopy

session 1:
SQL> select sid from v$mystat where rownum=1;

   SID

    10

SQL> create or replace procedure proc1
2 as
3 begin
4 dbms_application_info.set_action(‘PROC1’);
5 for i in 1…50 loop
6 dbms_lock.sleep(1);
7 end loop;
8 dbms_application_info.set_action(NULL);
9 end;
10 /

Procedure created.

SQL> create or replace procedure proc2
2 as
3 begin
4 dbms_application_info.set_action(‘PROC2’);
5 for i in 1…30 loop
6 dbms_lock.sleep(2);
7 end loop;
8 dbms_application_info.set_action(NULL);
9 end;
10 /

Procedure created.

SQL> create or replace procedure proc_main
2 as
3 begin
4 dbms_application_info.set_module(‘PROC_MAIN’,‘MAIN’);
5 dbms_lock.sleep(20);
6 proc1;
7 proc2;
8 dbms_application_info.set_module(‘PROC_MAIN’,NULL);
9 end;
10 /

Procedure created.

SQL> exec proc_main;

session 2:
SQL> select sid,serial#,module,action from v$session where sid=10;

   SID    SERIAL# MODULE     ACTION

    10         26 PROC_MAIN  MAIN


SQL> select sid,serial#,module,action from v$session where sid=10;

   SID    SERIAL# MODULE     ACTION

    10         26 PROC_MAIN  PROC1


SQL> select sid,serial#,module,action from v$session where sid=10;

   SID    SERIAL# MODULE     ACTION

    10         26 PROC_MAIN  PROC2


SQL> select sid,serial#,module,action from v$session where sid=10;

   SID    SERIAL# MODULE     ACTION

    10         26 PROC_MAIN_HASH_VALUE,SQL_ADDRESS

如果是psql登录的也可以看到登录工具:MODULE 为登录工具、或者sqlplus工具,action是sql窗口你正在做的操作

24、MODULE_HASH、ACTION_HASH hash值

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

     让我举个例子说给你们看看的,这个可以找了好长时间的啊。

1)首先,让我们来设置SET_CLIENT_INFO,这里我们通过一个触发器

[sql] view plaincopy

SQL> CREATE OR REPLACE TRIGGER trigger_name AFTER LOGON ON DATABASE
2 DECLARE
3 ipinfo VARCHAR2(30);
4 BEGIN
5 SELECT SYS_CONTEXT(‘USERENV’,‘IP_ADDRESS’) INTO ipinfo FROM DUAL;
6 DBMS_APPLICATION_INFO.SET_CLIENT_INFO(ipinfo);
7 END;
8 /

Trigger created

2)这个触发器的意思能够看懂吧,通过这个触发器,让我一登陆就是知道了

[sql] view plaincopy

[oracle@IM-8-201 ~]$ sqlplus test/test
SQL> select CLIENT_INFO from v$session where username=‘TEST’;

CLIENT_INFO

192.168.1.100

26、FIXED_TABLE_SEQUENCE:

      当session完成一个user call后就会增加的一个数值,也就是说,如果session inactive,它就不会增加。因此可以根据此字段的值变化来监控某个时间点以来的session的性能情况。例如,一个小时以前,某个session的FIXED_TABLE_SEQUENCE是10000,而现在是20000,则表明一个小时内其user call比较频繁,可以重点关注此session的performance statistics。

[sql] view plaincopy

SQL> conn sys/sys as sysdba
Connected.
SQL> SELECT FIXED_TABLE_SEQUENCE FROM V$SESSION a where a.username=‘SYS’;

FIXED_TABLE_SEQUENCE

            3023

SQL> SELECT FIXED_TABLE_SEQUENCE FROM V$SESSION a where a.username=‘SYS’;

FIXED_TABLE_SEQUENCE

            3025

SQL> SELECT FIXED_TABLE_SEQUENCE FROM V$SESSION a where a.username=‘SYS’;

FIXED_TABLE_SEQUENCE

            3027

27、ROW_WAIT_OBJ#

    被锁定行所在table的object_id。和dba_objects中的object_id关联可以得到被锁定的table name。

28、ROW_WAIT_FILE#

被锁定行所在的datafile id。和v$datafile中的file#关联可以得到datafile name。

29、ROW_WAIT_ROW#

      session当前正在等待的被锁定的行。

30、LOGON_TIME: session logon time

31、LAST_CALL_ET

    If the session STATUS is currently ACTIVE, then the value represents the elapsed time in seconds since the session has become active.If the session STATUS is currently INACTIVE, then the value represents the elapsed time in seconds since the session has become inactive.

32、PDML_ENABLED This column has been replaced by column PDML_STATUS

     既然这么说,就要先看PDML_STATUS

33、PDML_STATUS

     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.PARALLEL :数据并行技术,具体等会儿给链接

34、PDDL_STATUS

     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.这个是针对DDL的

35、PQ_STATUS

     If ENABLED, the session is in a PARALLEL QUERY enabled mode. If DISABLED, PARALLEL QUERY enabled mode is not supported for the session. If FORCED, the session has been altered to force PARALLEL QUERY.这个是针对select的,简单吧

36、CURRENT_QUEUE_DURATION
If queued (1), the current amount of time the session has been queued. If not currently queued, the value is 0.
if 1则session已经在队列中,if 0 则还未形成排队

37、CLIENT_IDENTIFIER
Client identifier of the session

38、BLOCKING_SESSION_STATUS
Blocking session status:
*VALID 状态valid为正在等待
*NO HOLDER
*GLOBAL
*NOT IN WAIT
*UNKNOWN

发生阻塞时候可以查询

到了10G,多了blocking_session 和 blocking_session_status字段,可以知道是否被阻塞。如果blocking_session_status字段是VALID,那一个有效的SID会出现在blocking_session 字段。
SQL> select sid, sql_id, PREV_SQL_ID , BLOCKING_SESSION_STATUS , BLOCKING_SESSION ,WAIT_CLASS_ID,SECONDS_IN_WAIT ,WAIT_CLASS from v$session where
2 username=‘KONG’;

   SID SQL_ID        PREV_SQL_ID   BLOCKING_SESSION_STATUS           BLOCKING_SESSION WAIT_CLASS_ID SECONDS_IN_WAIT WAIT_CLASS

   290 0hcsvq77pq2a8 dyk4dprp70d74 VALID                                          300    4217450380             118 Application300               0hcsvq77pq2a8 NO HOLDER                                             2723168908             124 Idle

可以看到290 的进程被300的进程阻塞。

在以前如果想要查询某个session执行了那个sql语句,那需要用两个字段来查询: HASH_VALUE和ADDRESS。现在只有一个SQL_ID就可以了。
SQL> select sql_text from v s q l t e x t s t , v sqltext st, v sqltextst,vsession s
2 where (st.sql_id = s.sql_id ) and s.sid=300;

SQL_TEXT

select count(*) from t2

BLOCKING_INSTANCE NUMBER 模块化的实例标识符
  BLOCKING_SESSION NUMBER 模块化的session标识符
  SEQ# NUMBER 不唯一的标示每个等待的序列号
  EVENT# NUMBER 事件数量
  EVENT VARCHAR2(64) oracle的session正在等待的数据或者事件
  P1TEXT VARCHAR2(64) 首个附加参数的描述
  P1 NUMBER 首个附加参数
  P1RAW RAW(4) 首个附加参数和前一个区别我还不是很懂
  P2TEXT VARCHAR2(64) 第二个附加参数的描述
  P2 NUMBER 第二个附加参数
  P2RAW RAW(4) 第二个附加参数
  P3TEXT VARCHAR2(64) 第三个附加参数的描述
  P3 NUMBER 第三个附加参数
  P3RAW RAW(4) 第三个附加参数
  WAIT_CLASS_ID NUMBER 标记等待事件种类
  WAIT_CLASS# NUMBER 等待事件的种类
  WAIT_CLASS VARCHAR2(64) 等待事件的名称
  WAIT_TIME NUMBER 非0代表上一次session上次等待时间,0代表session当前正在等待
  SECONDS_IN_WAIT NUMBER

oracle文档的资料:
  If WAIT_TIME = 0, then SECONDS_IN_WAIT is the seconds spent in the
  current wait condition. If WAIT_TIME > 0, then SECONDS_IN_WAIT is the
  seconds since the start of the last wait, and SECONDS_IN_WAIT - WAIT_
  TIME / 100 is the active seconds since the last wait ended.
 STATE VARCHAR2(19)
  oracle资料文档:
  Wait state:
  ■ 0 - WAITING (the session is currently waiting)
  ■ -2 - WAITED UNKNOWN TIME (duration of last wait is unknown)
  ■ -1 - WAITED SHORT TIME (last wait <1/100th of a second)
  ■ >0 - WAITED KNOWN TIME (WAIT_TIME = duration of last wait)
  SERVICE_NAME VARCHAR2(64) session的服务名称
  SQL_TRACE VARCHAR2(8) 标示sql是否能被跟踪
  SQL_TRACE_WAITS VARCHAR2(5) 标记是否等待事件被跟踪
  SQL_TRACE_BINDS VARCHAR2(5) 标记是否绑定跟踪可用与否


v$session

SADDR: session address

SID: session identifier,常用于连接其它列。

SERIAL#: sid 会重用,但是同一个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对应操作系统的那个进程的id。

USER#: session’s user id。等于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$lock中的sid & kaddr相对应。

STATUS: 用来判断session状态。Active:正执行SQL语句。Inactive:等待操作。Killed:被标注为删除。

SERVER: server type (dedicated or shared)

SCHEMA#: schema user id。Oracle内部进程的schema#为0。

SCHEMANAME: schema username。Oracle内部进程的schemaname为sys。

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

PROCESS: 客户端process id。

MACHINE: 客户端machine name。

TERMINAL: 客户端执行的terminal name。

PROGRAM: 客户端应用程序。比如ORACLE.EXE (PMON)或者sqlplus.exe

TYPE: session type (background or user)

SQL_ADDRESS, SQL_HASH_VALUE, SQL_ID, SQL_CHILD_NUMBER: session正在执行的sql statement,和v$sql中的address, hash_value, sql_id, child_number相对应。

PREV_SQL_ADDR, PREV_HASH_VALUE, PREV_SQL_ID, PREV_CHILD_NUMBER: 上一次执行的sql statement。

MODULE, MODULE_HASH, ACTION, ACTION_HASH, CLIENT_INFO: 应用通过DBMS_APPLICATION_INFO设置的一些信息。

FIXED_TABLE_SEQUENCE: 当session完成一个user call后就会增加的一个数值,也就是说,如果session inactive,它就不会增加。因此可以根据此字段的值变化来监控某个时间点以来的session的性能情况。例如,一个小时以前,某个session的FIXED_TABLE_SEQUENCE是10000,而现在是20000,则表明一个小时内其user call比较频繁,可以重点关注此session的performance statistics。

ROW_WAIT_OBJ#: 被锁定行所在table的object_id。和dba_objects中的object_id关联可以得到被锁定的table name。

ROW_WAIT_FILE#: 被锁定行所在的datafile id。和v$datafile中的file#关联可以得到datafile name。

ROW_WAIT_BLOCK#: Identifier for the block containing the row specified in ROW_WAIT_ROW#

ROW_WAIT_ROW#: session当前正在等待的被锁定的行。

LOGON_TIME: session logon time

v$process

ADDR: process address。可以和v$session的paddr字段关联。

PID: Oracle进程identifier。

SPID: 操作系统进程identifier。

USERNAME: 操作系统进程的用户名。并非Oracle用户名。

SERIAL#:: process serial number。

TERMINAL: 操作系统terminal identifier(e.g., computer name)。

PROGRAM: 进程正在执行的程序(e.g., ORACLE.EXE (ARC0)),和v$session中的program类似。

BACKGROUND: 1代表oracle background process,null代表normal process。

查看当前用户的sid和serial#:

select sid, serial#, status from v$session where audsid=userenv(‘sessionid’);

查看当前用户的spid:

select spid from v p r o c e s s p , v process p, v processp,vsession s where s.audsid=userenv(‘sessionid’) and s.paddr=p.addr;

select spid from v p r o c e s s p j o i n v process p join v processpjoinvsession s on p.addr=s.paddr and s.audsid=userenv(‘sessionid’);

查看当前用户的trace file路径:

select p.value || ‘/’ || t.instance || ‘ora’ || ltrim(to_char(p.spid,‘fm99999’)) || ‘.trc’

from v$process p, v$session s, v$parameter p, v$thread twhere p.addr = s.paddr and s.audsid = userenv('sessionid') and p.name = 'user_dump_dest';

已知spid,查看当前正在执行或最近一次执行的语句:

select /*+ ordered */ sql_text from v$sqltext sql

where (sql.hash_value, sql.address) in (select decode(sql_hash_value, 0, prev_hash_value, sql_hash_value), decode(sql_hash_value, 0, prev_sql_addr, sql_address)from v$session s where s.paddr = (select addr from v$process p where p.spid = to_number('&pid')))order by piece asc;

字段列表

COLUMN_NAME DATA_TYPE
ECID VARCHAR2
CREATOR_SERIAL# NUMBER
CREATOR_ADDR RAW
SESSION_EDITION_ID NUMBER
SQL_TRACE_PLAN_STATS VARCHAR2
SQL_TRACE_BINDS VARCHAR2
SQL_TRACE_WAITS VARCHAR2
SQL_TRACE VARCHAR2
SERVICE_NAME VARCHAR2
TIME_SINCE_LAST_WAIT_MICRO NUMBER
TIME_REMAINING_MICRO NUMBER
WAIT_TIME_MICRO NUMBER
STATE VARCHAR2
SECONDS_IN_WAIT NUMBER
WAIT_TIME NUMBER
WAIT_CLASS VARCHAR2
WAIT_CLASS# NUMBER
WAIT_CLASS_ID NUMBER
P3RAW RAW
P3 NUMBER
P3TEXT VARCHAR2
P2RAW RAW
P2 NUMBER
P2TEXT VARCHAR2
P1RAW RAW
P1 NUMBER
P1TEXT VARCHAR2
EVENT VARCHAR2
EVENT# NUMBER
SEQ# NUMBER
FINAL_BLOCKING_SESSION NUMBER
FINAL_BLOCKING_INSTANCE NUMBER
FINAL_BLOCKING_SESSION_STATUS VARCHAR2
BLOCKING_SESSION NUMBER
BLOCKING_INSTANCE NUMBER
BLOCKING_SESSION_STATUS VARCHAR2
CLIENT_IDENTIFIER VARCHAR2
CURRENT_QUEUE_DURATION NUMBER
PQ_STATUS VARCHAR2
PDDL_STATUS VARCHAR2
PDML_STATUS VARCHAR2
RESOURCE_CONSUMER_GROUP VARCHAR2
FAILED_OVER VARCHAR2
FAILOVER_METHOD VARCHAR2
FAILOVER_TYPE VARCHAR2
PDML_ENABLED VARCHAR2
LAST_CALL_ET NUMBER
LOGON_TIME DATE
TOP_LEVEL_CALL# NUMBER
ROW_WAIT_ROW# NUMBER
ROW_WAIT_BLOCK# NUMBER
ROW_WAIT_FILE# NUMBER
ROW_WAIT_OBJ# NUMBER
FIXED_TABLE_SEQUENCE NUMBER
CLIENT_INFO VARCHAR2
ACTION_HASH NUMBER
ACTION VARCHAR2
MODULE_HASH NUMBER
MODULE VARCHAR2
PLSQL_SUBPROGRAM_ID NUMBER
PLSQL_OBJECT_ID NUMBER
PLSQL_ENTRY_SUBPROGRAM_ID NUMBER
PLSQL_ENTRY_OBJECT_ID NUMBER
PREV_EXEC_ID NUMBER
PREV_EXEC_START DATE
PREV_CHILD_NUMBER NUMBER
PREV_SQL_ID VARCHAR2
PREV_HASH_VALUE NUMBER
PREV_SQL_ADDR RAW
SQL_EXEC_ID NUMBER
SQL_EXEC_START DATE
SQL_CHILD_NUMBER NUMBER
SQL_ID VARCHAR2
SQL_HASH_VALUE NUMBER
SQL_ADDRESS RAW
TYPE VARCHAR2
PROGRAM VARCHAR2
TERMINAL VARCHAR2
PORT NUMBER
MACHINE VARCHAR2
PROCESS VARCHAR2
OSUSER VARCHAR2
SCHEMANAME VARCHAR2
SCHEMA# NUMBER
SERVER VARCHAR2
STATUS VARCHAR2
LOCKWAIT VARCHAR2
TADDR VARCHAR2
OWNERID NUMBER
COMMAND NUMBER
USERNAME VARCHAR2
USER# NUMBER
PADDR RAW
AUDSID NUMBER
SERIAL# NUMBER
SID NUMBER
SADDR RAW

oracle v$session视图详解相关推荐

  1. oracle中的视图详解

    1.视图的概述 视图其实就是一条查询sql语句,用于显示一个或多个表或其他视图中的相关数据.视图将一个查询的结果作为一个表来使用,因此视图可以被看作是存储的查询或一个虚拟表.视图来源于表,所有对视图数 ...

  2. Oracle v$sql 视图详解

    SQL_TEXT:SQL文本的前1000个字符 SHARABLE_MEM:占用的共享内存大小(单位:byte) PERSISTENT_MEM:生命期内的固定内存大小(单位:byte) RUNTIME_ ...

  3. oracle查看视图定义语句_oracle视图详解

    Oracle 视图详解 一. 视图的定义 视图(view),也称虚表, 不占用物理空间,这个也是相对概念,因为视图本身的定义语句还是要存储在数据字典里的.视图只有逻辑定义.每次使用的时候,只是重新执行 ...

  4. Oracle 定时任务job使用详解

    Oracle 定时任务job使用详解 1.定时任务job job在指定的时间点或每天的某个时间点自行执行任务. 关键性能视图 SQL> desc user_jobs; Name Type Nul ...

  5. Oracle 闪回技术详解

    概述 闪回技术是Oracle强大数据库备份恢复机制的一部分,在10g的时候就被推出一直延续到现在.在数据库发生逻辑错误的时候,闪回技术能提供快速且最小损失的恢复(多数闪回功能都能在数据库联机状态下完成 ...

  6. [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)...

    [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功) 原文:[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之 ...

  7. sql跟踪 oracle,oracle SQL语句跟踪详解

    本文主要内容为oracle SQL语句跟踪详解,废话不多说,马上进入正题. 对于跟踪的sql语句,生成的trace 文件放在udump 下 SQL> showparameter sql NAME ...

  8. [强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!)...

    [强烈推荐]ORACLE PL/SQL编程详解之七: 程序包的创建与应用(聪明在于学习,天才在于积累!) --通过知识共享树立个人品牌.   继上七篇:            [推荐]ORACLE P ...

  9. oracle dataguard详解,Oracle 19c 新特性详解:DataGuard 中ADG的自动DML重定向

    Oracle 19c 新特性详解:DataGuard 中ADG的自动DML重定向 在前面的文章<Oracle 19c 十大新特性一览>中,我们曾经提到 Oracle 19c的一个重要增强, ...

  10. oracle数据库闪回详解

    Oracle 9i 开始支持闪回,Oracle10g开始全面支持闪回功能,Oracle11g有所完善,为大家快速的恢复数据,查询历史数据提供了很大的便捷方法. 本文主要对Oracle常用闪回使用做些详 ...

最新文章

  1. Science | 化学合成文献数字化自动执行通用系统
  2. OpenCV黑白图像增强——灰度级切片
  3. 凭证 90000000 保存(帐户确定出错)
  4. 十九、 彻底掌握金融量化交易库Talib
  5. 上课流程法-如何上好第一节课(1) 目录 1. 目录 1 1.1. 销售自己 1 1.2. 销售课程 1 1.3. 学习方法 1 1.4. 制定规章 2 2. 销售自己-自我介绍 2 2.1.
  6. 入坑codewars第五天-Dubstep、Regex validate PIN code
  7. win10 ping网络计算机,如何使用PING命令测试win10的网络速度
  8. Java实现斯皮尔曼相关系数(Spearman)及T检验
  9. 制造业ERP系统具体操作流程是什么?
  10. 算法设计与分析 —— 排列问题
  11. 极大似然估计和最大似然估计定义
  12. 计算机工作记录,电脑上可以记录每日工作内容的办公便签是什么?
  13. 启蒙||那些人,那些剧||爱情+文学+英语
  14. 计算机组成原理2017答案,计算机组成原理答案2017(西南大学).docx
  15. 【完结!】数据挖掘从入门到放弃(五)seaborn 的数据可视化
  16. javaweb重定向——登录页面跳转到首页
  17. 第七章、TPP2(G2)
  18. 2021-07-22
  19. IntelliJ IDEA自定义菜单(Menus)、任务栏(toolbars)详细教程(即Customize Menus and Toolbars...)
  20. Deferred异步操作

热门文章

  1. 设双链表表示的线性表L=(a1,a2,a3.....an)将L改造为L=(a1,a3,....an...a4,a2)
  2. 测试打印机使用端口方式
  3. 50、基于51单片机LCD 12864屏密码IC门禁卡语音播报系统设计
  4. ueditor公式插件kity formula在chrome运行报错的解决办法
  5. 优维低代码:Lazy Bricks
  6. python xmlrpc_Python的XMLRPC简介及小技巧
  7. 编译原理之词法分析实验(附完整C/C++代码与总结)
  8. 移动应用开发赛项竞赛试题 (D 卷)
  9. 《12步通关求职面试》学习笔记
  10. 2013年全国硕士研究生招生考试英语(一)试题