<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-314  評論-209  文章-0  trackbacks-0

    偶然間發現,幾年前,馮老師關于statspack的一篇文章,寫的不錯,收下了先。

    http://www.dbanotes.net/Oracle/AboutStatspack.htm

     

    Statspack 是 Oracle 提供的一個實例級的Tuning工具。很多DBA都喜歡用這個工具來進行數據庫的優化調整。不過在交流中發現很多朋友對這個工具的的運用還有一些 問題。下面就其中比較容易出問題的幾個方面進行一下簡單的分析。

    快照的采樣時間間隔問題

    我們知道,Statspack的report實際上也就是對比兩個快照 (Snapshot,也就是數據庫當前狀態 ) 得出的結果。

    一般情況下,專家建議生成Statspack報告的快照時間間隔為15-30分鐘。

    試想,一個人去醫院看病,醫生對其測量體溫,一般也就是5-10分鐘左右就可以了, 為什么是這麼長的時間?因為5-10分鐘這段時間基本可以近似的得到你的體溫。如果時間過短,可能達不到既定的目的,測到的體溫會偏低,時間過長,甚至長達幾 個小時的話(假設有這種情況),病人可能都昏迷幾次了 ;) 。

    對生成Statspack報告的快照時間間隔也是這樣,如果兩個Snap Time時間過短,數據 庫的一些主要周期性事務可能還沒有運行,信息收集不完全。如果間隔過長,數據一樣會有偏差。

    假設如下的情況:系統一直正常,但是最近幾天有用戶反映,在A時間段應用程序執行 很慢。B時間段正常,而 A時間段有一個主要的事務X運行(也是用戶使用到的事務)。 B時間段有另外一個比較消耗資源的事務Y在運行。A和B時間段的跨度比較大。本來你的 快照如果覆蓋A時間段內就已經能夠的收集到比較準確的數據了,但不巧的是,你的Report 所用的兩個Snap ID的時間跨度太長,從而把B時間段內的統計數據也收集了進來。 Statspack 經過比較,“認為”事務Y是對系統有主要影響(這也會在Report上體現出來),而你,經過分析,認為Y才是罪魁禍首,接下來,你不遺余力的對Y進行了tuning......

    問題出現了!調整了B之后,用戶繼續報告,A時間段內系統不但沒有變快,反而變得更慢,甚至不可忍受。這種情況是很危險 的,可能會對系統造成不同程序的損害。在比較嚴格的環境中,這已經構成了一次比較嚴重的事故。

    或許你也要承認,Statspack的快照的采樣時間間隔還真需要重視呢......

    這是一個Oracle 8.1.7.0.1 版本下的Statspack報告:

                          Snap Id          Snap Time Sessions
    ------- ------------------ --------
    Begin Snap:            637 04-Aug-03 11:59:33       25
    End Snap:              646 04-Aug-03 16:29:06       25
    Elapsed:                        269.55 (mins)
    

    從中可以看到快照637和快照646之間為269.55 (mins)。這么長的時間跨度,即使數據庫在一定時間間隔內有問題,在這里的體現也會有偏差。
    下面的這個Statspack 報告的時間有點不靠譜了:

    	                                                                Snap Length
    Start Id  End Id              Start Time  End Time                (Minutes)
    --------  --------  --------------------  --------------------  -----------
    314  1053        11-Dec-03 18:07:13  19-Dec-03 10:53:02      11,085.82
    

    11,085.82分鐘? 這么長時間內的數據采集分析,怕是絕大部分內容都是不能相信的了。

    還要注意的是,我們說的時間間隔,是Begin Snap和End Snap之間的間隔,而不是相鄰兩個Snap 之間的間隔。對于Snap收集的間隔,建議以不要影響性能為準,收集的太過于頻繁,會對性能和 存儲都造成壓力。對于所謂的15-30分鐘,不能墨守成規。具體的環境下應該加以調整。

    以偏概全

    Statspack從本質上說,是對系統的性能統計數據進行采樣,然后進行分析,采樣,就會有偏差。如何消除偏差?統計學指出差值隨樣品個數的增加而降低。所以,只憑借一個Report文檔就斷定數據庫的性能問題出在某處,是比較武斷的做法(個別情況除外)。需要DBA創建多個Report,包括不同時間段,對比進行分析,這樣才會起到很好的效果。在尋求技術支持的時候也最好能夠多提交幾份Report,便于支持人員迅速幫助解決問題。

    有關Timed_statistics參數

    雖然這算是一個低級的錯誤,還是很遺憾,常常看到一些朋友對這個參數的忽略.如果在 Timed_statistics的值設置為False的時候進行收集,可以說,收集到的東西用處不是很大 (我想你不會只想看一些實例名字、初始化參數之類的信息吧)。甚至可以說,如果該參數不設置為True,性能分析無從說起。

    你成了泄密者?

    Statspack 報告會匯集到你的數據庫系統比較全面的信息,如果不對報告加以"偽裝"就隨意發布到一些技術論壇上尋求支持,無疑給一些黑客以可乘之機。你的數據庫名字、實例名字、主機名、數據庫版本號、兼容參數、關鍵的表名字、文件路徑等等,尤其是關鍵的SQL都是黑客們或是惡意入侵者的最好的參考信息。

    商業競爭對手也可能正在對你的數據庫虎視眈眈。

    如果你有意積極配合這些惡意窺探者,那么就把你的Statspack公之于眾吧 :-)

    posted on 2010-08-07 11:18 xzc 閱讀(127) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 性xxxx黑人与亚洲| 国产精品久久久久久亚洲小说| 亚洲v高清理论电影| 亚洲av一本岛在线播放| 九九全国免费视频| 一二三四影视在线看片免费| 亚洲熟女一区二区三区| 亚洲av无码成人影院一区 | 亚洲jizzjizz在线播放久| 日本免费xxxx色视频| 国产91精品一区二区麻豆亚洲| 亚洲一线产区二线产区精华| 久久久久久精品免费看SSS| 亚洲丰满熟女一区二区v| 国产免费AV片在线观看| 亚洲?V无码乱码国产精品| 丁香婷婷亚洲六月综合色| 99久久免费精品国产72精品九九 | 久久精品国产精品亚洲艾草网美妙| 亚洲第一区视频在线观看| 国产成人无码精品久久久免费| 性xxxx视频播放免费| 中文字幕亚洲精品资源网| 中文字幕无码一区二区免费| 亚洲中文字幕无码爆乳av中文| a级片在线免费看| 在线A亚洲老鸭窝天堂| 免费无码专区毛片高潮喷水 | 久久国产精品免费一区二区三区| 日本免费人成黄页网观看视频 | 亚洲一线产区二线产区精华| 国产日产成人免费视频在线观看| 亚洲乱码一二三四区乱码| 国产免费黄色大片| 亚洲AV无码成人网站在线观看| 国产亚洲精品精华液| 国产色无码精品视频免费| 亚洲伦理一二三四| 国产成人精品日本亚洲专区| **实干一级毛片aa免费| 亚洲一区中文字幕在线观看|