Oracle10gR2 New Feature:V$SESSION change tracking

王朝oracle·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

作者:eygle

出处:http://www.eygle.com/blog

日期:September 15, 2005

本文链接:http://www.eygle.com/archives/2005/09/10gr2_vsession_change.html

« Oracle数据字典说明 | Blog首页 | 我的哈根达斯月饼 »

从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- 王朝網路 版權所有 導航