熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Oracle10gR2 新視圖:V$SESSION變化跟蹤

2013-11-13 22:12:29  來源: Oracle 

  從Oracleg開始伴隨ASH功能的引入Oracle對V$SESSION視圖進行了徹底改造
  
  關於V$SESSION在幾個版本中結構變化可以參考:Oracle數據字典說明
  
  從OraclegR開始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中得到了
  
  在OraclegROracle又為V$SESSION增加了額外幾個字段
  
  SERVICE_NAME
  SQL_TRACE
  SQL_TRACE_WAITS
  SQL_TRACE_BINDS
  
  這幾個字段又顯示當前session連接方式及是否啟用sql_trace等
  
  我們看到Oracle在小處動的手腳是非常多的而無疑這些小手腳會給我們的管理維護帶來極大的方便
  
  以下是OraclegR種v$session和v$session_wait兩個view的結構供參考:
  
  SQL> desc v$session
  Name                   Null?  Type
  
  SADDR                       RAW()
  SID                        NUMBER
  SERIAL#                      NUMBER
  AUDSID                       NUMBER
  PADDR                       RAW()
  USER#                       NUMBER
  USERNAME                      VARCHAR()
  COMMAND                      NUMBER
  OWNERID                      NUMBER
  TADDR                       VARCHAR()
  LOCKWAIT                      VARCHAR()
  STATUS                       VARCHAR()
  SERVER                       VARCHAR()
  SCHEMA#                      NUMBER
  SCHEMANAME                     VARCHAR()
  OSUSER                       VARCHAR()
  PROCESS                      VARCHAR()
  MACHINE                      VARCHAR()
  TERMINAL                      VARCHAR()
  PROGRAM                      VARCHAR()
  TYPE                        VARCHAR()
  SQL_ADDRESS                    RAW()
  SQL_HASH_VALUE                   NUMBER
  SQL_ID                       VARCHAR()
  SQL_CHILD_NUMBER                  NUMBER
  PREV_SQL_ADDR                   RAW()
  PREV_HASH_VALUE                  NUMBER
  PREV_SQL_ID                    VARCHAR()
  PREV_CHILD_NUMBER                 NUMBER
  MODULE                       VARCHAR()
  MODULE_HASH                    NUMBER
  ACTION                       VARCHAR()
  ACTION_HASH                    NUMBER
  CLIENT_INFO                    VARCHAR()
  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                    VARCHAR()
  FAILOVER_TYPE                   VARCHAR()
  FAILOVER_METHOD                  VARCHAR()
  FAILED_OVER                    VARCHAR()
  RESOURCE_CONSUMER_GROUP              VARCHAR()
  PDML_STATUS                    VARCHAR()
  PDDL_STATUS                    VARCHAR()
  PQ_STATUS                     VARCHAR()
  CURRENT_QUEUE_DURATION               NUMBER
  CLIENT_IDENTIFIER                 VARCHAR()
  BLOCKING_SESSION_STATUS              VARCHAR()
  BLOCKING_INSTANCE                 NUMBER
  BLOCKING_SESSION                  NUMBER
  SEQ#                        NUMBER
  EVENT#                       NUMBER
  EVENT                       VARCHAR()
  PTEXT                       VARCHAR()
  P                         NUMBER
  PRAW                       RAW()
  PTEXT                       VARCHAR()
  P                         NUMBER
  PRAW                       RAW()
  PTEXT                       VARCHAR()
  P                         NUMBER
  PRAW                       RAW()
  WAIT_CLASS_ID                   NUMBER
  WAIT_CLASS#                    NUMBER
  WAIT_CLASS                     VARCHAR()
  WAIT_TIME                     NUMBER
  SECONDS_IN_WAIT                  NUMBER
  STATE                       VARCHAR()
  SERVICE_NAME                    VARCHAR()
  SQL_TRACE                     VARCHAR()
  SQL_TRACE_WAITS                  VARCHAR()
  SQL_TRACE_BINDS                  VARCHAR()
  
  SQL> desc v$session_wait
  Name                   Null?  Type
  
  SID                        NUMBER
  SEQ#                        NUMBER
  EVENT                       VARCHAR()
  PTEXT                       VARCHAR()
  P                         NUMBER
  PRAW                       RAW()
  PTEXT                       VARCHAR()
  P                         NUMBER
  PRAW                       RAW()
  PTEXT                       VARCHAR()
  P                         NUMBER
  PRAW                       RAW()
  WAIT_CLASS_ID                   NUMBER
  WAIT_CLASS#                    NUMBER
  WAIT_CLASS                     VARCHAR()
  WAIT_TIME                     NUMBER
  SECONDS_IN_WAIT                  NUMBER
  STATE                       VARCHAR()
  
  SQL>
From:http://tw.wingwit.com/Article/program/Oracle/201311/18472.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.