Oracle10gR2新视图:V$SESSION变化跟踪

王朝oracle·作者佚名  2008-05-19
宽屏版  字体: |||超大  

从Oracle10g开始,伴随ASH功能的引入,Oracle对V$SESSION视图进行了彻底改造。

关于V$SESSION在几个版本中结构变化可以参考:Oracle数据字典说明

从Oracle10gR1开始,Oracle在V$SESSION中增加关于等待事件的字段,实际上也就是把原来V$SESSION_WAIT视图中的所有字段全部整合到了V$SESSION视图中,开始的时候我还以为ASH是依赖联合查询来获取信息的,仔细一看才发现现在V$SESSION已经发生了变化。(如果进一步研究你会发现,实际上V$SESSION的底层查询语句及X$表已经有了变化)

这一变化使得我们的查询得以简化,但是也使得V$SESSION_WAIT开始变得多余。

此外V$SESSION中还增加了BLOCKING_SESSION等字段,以前我们需要通过dba_waiters等视图才能获得的信息,现在也可以直接从V$SESSION中得到了。

在Oracle10gR2中,Oracle又为V$SESSION增加了额外几个字段:

SERVICE_NAME

SQL_TRACE

SQL_TRACE_WAITS

SQL_TRACE_BINDS

这几个字段又显示当前session连接方式及是否启用sql_trace等

我们看到Oracle在小处动的手脚是非常多的,而无疑这些小手脚会给我们的管理维护带来极大的方便。

以下是Oracle10gR2种v$session和v$session_wait两个view的结构供参考:

SQL desc v$session

Name

Null?

Type

----------------------------------------- -------- ----------------------------

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(30)

PROGRAM

VARCHAR2(48)

TYPE

VARCHAR2(10)

SQL_ADDRESS

RAW(4)

SQL_HASH_VALUE

NUMBER

SQL_ID

VARCHAR2(13)

SQL_CHILD_NUMBER

NUMBER

PREV_SQL_ADDR

RAW(4)

PREV_HASH_VALUE

NUMBER

PREV_SQL_ID

VARCHAR2(13)

PREV_CHILD_NUMBER

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)

BLOCKING_SESSION_STATUS

VARCHAR2(11)

BLOCKING_INSTANCE

NUMBER

BLOCKING_SESSION

NUMBER

SEQ#

NUMBER

EVENT#

NUMBER

EVENT

VARCHAR2(64)

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

SECONDS_IN_WAIT

NUMBER

STATE

VARCHAR2(19)

SERVICE_NAME

VARCHAR2(64)

SQL_TRACE

VARCHAR2(8)

SQL_TRACE_WAITS

VARCHAR2(5)

SQL_TRACE_BINDS

VARCHAR2(5)

SQL desc v$session_wait

Name

Null?

Type

----------------------------------------- -------- ----------------------------

SID

NUMBER

SEQ#

NUMBER

EVENT

VARCHAR2(64)

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

SECONDS_IN_WAIT

NUMBER

STATE

VARCHAR2(19)

SQL

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有