gdufo

           

          學(xué)習(xí)動態(tài)性能表 第二篇--v$sesstat 2007.5.25

           

          按照OracleOnlineBook中的描述,v$sesstat存儲sessionloginlogout的詳細(xì)資源使用統(tǒng)計(jì)。

           

            類似于v$sysstat,該視圖存儲下列類別的統(tǒng)計(jì):

           

          l         事件發(fā)生次數(shù)的統(tǒng)計(jì),如用戶提交數(shù)。

          l         數(shù)據(jù)產(chǎn)生,存取或者操作的total(如:redo size)

          l         執(zhí)行操作所花費(fèi)的時(shí)間累積,例如session CPU占用(如果TIMED_STATISTICS值為true)

          注意:

          如果初始參數(shù)STATISTICS_LEVEL被設(shè)置為TYPICALALL,時(shí)間統(tǒng)計(jì)被數(shù)據(jù)庫自動收集如果STATISTICS_LEVEL被設(shè)置為BASIC,你必須設(shè)置TIMED_STATISTICS值為TRUE以打開收集功能。

           

          如果你已設(shè)置了DB_CACHE_ADVICE,TIMED_STATISTICSTIMED_OS_STATISTICS,或在初始參數(shù)文件或使用ALTER_SYSTEMALTER SESSION,那么你所設(shè)定的值的值將覆蓋STATISTICS_LEVEL的值。

           

          v$sysstatv$sesstat差別如下:

          n         v$sesstat只保存session數(shù)據(jù),而v$sysstat則保存所有sessions的累積值。

          n         v$sesstat只是暫存數(shù)據(jù),session退出后數(shù)據(jù)即清空。v$sysstat則是累積的,只有當(dāng)實(shí)例被shutdown才會清空。

          n         v$sesstat不包括統(tǒng)計(jì)項(xiàng)名稱,如果要獲得統(tǒng)計(jì)項(xiàng)名稱則必須與v$sysstatv$statname連接查詢獲得。

           

          v$sesstat可被用于找出如下類型session

          n         高資源占用

          n         高平均資源占用比(登陸后資源使用率)

          n         默認(rèn)資源占用比(兩快照之間)

           

          V$SESSTAT中使用統(tǒng)計(jì)

            多數(shù)v$sesstat中的統(tǒng)計(jì)參考是v$sysstat描述的子集,包括session logical reads, CPU used by this session, db block changes, redo size, physical writes, parse count (hard), parse count (total), sorts (memory), and sorts (disk).

           

          V$SESSTAT常用列說明

          n         SIDsession唯一ID

          n         STATISTIC#:資源唯一ID

          n         VALUE:資源使用

           

           

          示例1:下列找出當(dāng)前session中最高的logicalPhysical I/O比率.

           

            下列SQL語句顯示了所有連接到數(shù)據(jù)庫的session邏輯、物理讀比率(每秒)logicalphysical I/O比率是通過自登陸后的時(shí)間消耗計(jì)算得出。對于sessions連接到數(shù)據(jù)庫這種長周期操作而言也許不夠精確,不過做個示例卻足夠了。

           

          先獲得session邏輯讀和物理讀統(tǒng)計(jì)項(xiàng)的STATISTIC#值:

          SELECT name, statistic#

            FROM V$STATNAME

            WHERE name IN ('session logical reads','physical reads') ;

          NAME                           STATISTIC#

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

          session logical reads                   9

          physical reads                         40

           

          通過上面獲得的STATISTIC#值執(zhí)行下列語句:

           

          SELECT ses.sid

               , DECODE(ses.action,NULL,'online','batch')          "User"

               , MAX(DECODE(sta.statistic#,9,sta.value,0))

                 /greatest(3600*24*(sysdate-ses.logon_time),1)     "Log IO/s"

               , MAX(DECODE(sta.statistic#,40,sta.value,0))

                 /greatest(3600*24*(sysdate-ses.logon_time),1)     "Phy IO/s"

               , 60*24*(sysdate-ses.logon_time)                    "Minutes"

           FROM V$SESSION ses

              , V$SESSTAT sta

          WHERE ses.status     = 'ACTIVE'

            AND sta.sid        = ses.sid

            AND sta.statistic# IN (9,40)

          GROUP BY ses.sid, ses.action, ses.logon_time

          ORDER BY

                  SUM( DECODE(sta.statistic#,40,100*sta.value,sta.value) )

                / greatest(3600*24*(sysdate-ses.logon_time),1)  DESC;

           

            SID User   Log IO/s Phy IO/s Minutes

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

           1951 batch       291    257.3       1

            470 online    6,161     62.9       0

            730 batch     7,568     43.2     197

           2153 online    1,482     98.9      10

           2386 batch     7,620     35.6      35

           1815 batch     7,503     35.5      26

           1965 online    4,879     42.9      19

           1668 online    4,318     44.5       1

           1142 online      955     69.2      35

           1855 batch       573     70.5       8

           1971 online    1,138     56.6       1

           1323 online    3,263     32.4       5

           1479 batch     2,857     35.1       3

            421 online    1,322     46.8      15

           2405 online      258     50.4       8

           

           

          示例2:又例如通過v$sesstatv$statname連接查詢某個SID各項(xiàng)信息。

          select a.*,b.name

            from v$sesstat a,v$statname b

            where a.sid=10 and a.statistic#=b.statistic#;

          posted on 2009-11-17 11:40 gdufo 閱讀(126) 評論(0)  編輯  收藏 所屬分類: Database (oracle, sqlser,MYSQL)

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          Hibernate

          友情鏈接

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 额尔古纳市| 建阳市| 卢湾区| 湾仔区| 黔东| 建始县| 杭锦后旗| 尉犁县| 海丰县| 巴里| 苍梧县| 崇信县| 开原市| 鲁山县| 贡觉县| 突泉县| 宜黄县| 明水县| 黑山县| 抚远县| 海丰县| 和平区| 靖州| 赤壁市| 台前县| 科尔| 元谋县| 宁陵县| 准格尔旗| 井研县| 滨海县| 社会| 丹江口市| 甘孜县| 邢台市| 开化县| 始兴县| 道真| 江川县| 冀州市| 康保县|