Oracle10gR2 New Feature:V$SESSION change tracking

來源:互聯網
上載者:User

作者: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> 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.