Oracle性能優(yōu)化使用度量和預警

度量、預警及基線
對性能進行監(jiān)視時,需要使用一些統(tǒng)計信息之外的特定信息。為了確定特定統(tǒng)計信息是否重要,則需要了解經(jīng)過一段特定時間之后,該統(tǒng)計信息的變化量。為了具有前瞻性,則需要在存在特定條件時(例如系統(tǒng)響應時間達到了允許的最大值)收到通知。為了診斷性能問題,需要了解更改的具體內(nèi)容。度量、預警及基線即可提供這些信息。  
度量是累積統(tǒng)計信息在一段時間內(nèi)的更改率。例如,每秒的物理讀取數(shù)。  
可為各種度量設置閾值,當度量的值超過閾值時,就會生成預警。  
基線包含所存儲的度量集和統(tǒng)計信息集。單個集稱為快照?;€由兩個或多個快照組成。通常,基線是在正常或可接受的操作期間捕獲的,但也可以捕獲任何相關時段。如果性能不正常,則可捕獲其它度量集,并將其與基線進行比較。通過此方法,數(shù)據(jù)可明確地指出性能問題。 基本統(tǒng)計信息的限制
統(tǒng)計信息是對數(shù)據(jù)庫中所發(fā)生事件的計數(shù)。統(tǒng)計信息和等待事件為原始數(shù)據(jù)?;窘y(tǒng)計信息始終只是給定時間對應的一個值。  
如果繪制很長一段時間內(nèi)的基本統(tǒng)計數(shù)值,則會看到這些值一直隨時間增長。該幻燈片顯示了一個可能的圖形示例,即從 V$SYSSTAT 性能視圖中提取的 physical reads 統(tǒng)計信息圖。如幻燈片中所示,雖然兩個圖的統(tǒng)計數(shù)值相同,但在觀測期的末尾,趨勢是完全不同的??梢苑浅G宄乜吹剑蠄D中數(shù)據(jù)庫的 I/O 變化率遠遠大于下圖中的 I/O 變化率。所以,僅查看統(tǒng)計數(shù)值是沒有意義的。
為了更好地了解數(shù)據(jù)庫行為,您不僅要查看數(shù)值,還要觀察這些曲線或趨勢。因此,需要計算某一時間段中的統(tǒng)計數(shù)值變化率,以便確定該時段內(nèi)的趨勢。  
典型增量工具
基本統(tǒng)計信息只是自啟動實例以來累積的原始數(shù)字。快照是在某一個時間點上捕獲的一組統(tǒng)計信息。通過在不同的時間獲取快照并獲得值之間的差值,可獲取有意義的統(tǒng)計數(shù)值。該差值即為增量。有幾種工具可生成增量。Statspack、自動工作量資料檔案庫 (AWR) 和自定義腳本可生成兩個快照的增量報表。
通過 AWR 和 Statspack 可保存快照集以供將來參考。這些保存的集就是統(tǒng)計信息基線。   Oracle Database 11g 解決方案:度量
Oracle 數(shù)據(jù)庫服務器在正常操作期間收集基本統(tǒng)計信息?;窘y(tǒng)計信息即為簡單的計數(shù)。例如,對自啟動以來系統(tǒng)中物理讀取數(shù)的計數(shù)結果即為基本統(tǒng)計信息。  
度量是源自基本統(tǒng)計信息的二級統(tǒng)計信息。大多數(shù)度量會跟蹤 Oracle 服務器中活動的更改率。例如,系統(tǒng)中前 60 分鐘內(nèi)的平均物理讀取數(shù)即為一個度量。內(nèi)部組件(客戶機)使用度量來監(jiān)視系統(tǒng)運行狀況,檢測問題和進行自優(yōu)化。易管理性監(jiān)視程序進程 (MMON) 會根據(jù)相應的基本統(tǒng)計信息定期更新度量數(shù)據(jù)。
Oracle 數(shù)據(jù)庫服務器組件使用度量來執(zhí)行易管理性功能。例如,自動數(shù)據(jù)庫診斷監(jiān)視程序 (ADDM) 將系統(tǒng)中最后 60 分鐘內(nèi)的平均物理讀取數(shù)用作輸入。其它組件可能需要基于相同基本統(tǒng)計信息(物理讀取數(shù))的不同度量。例如,內(nèi)存指導可能需要高峰時段的物理讀取計數(shù)。Oracle Database 11g 支持系統(tǒng)、會話、文件和等待事件統(tǒng)計信息的度量。每個度量由一個度量編號來唯一地標識,且與一個量度名稱相關聯(lián)。該圖列出了一些固定的視圖,可訪問這些視圖來瀏覽度量數(shù)據(jù)。有關這些視圖的詳細信息,請參閱《Oracle Database Reference》指南。 度量的優(yōu)點
保留度量的主要優(yōu)點在于,在組件需要計算某些活動的更改率時,可隨時使用相應的數(shù)據(jù)。
在早期版本中,要計算特定基本統(tǒng)計信息的更改率,則必須在運行工作量之前和之后捕獲統(tǒng)計信息。使用度量,所需執(zhí)行的全部操作就是運行工作量并選擇相應的度量。
有了服務器收集的度量,服務器組件便具備了自優(yōu)化和健康檢查的基礎。度量提供了自動內(nèi)存管理和自動數(shù)據(jù)庫診斷監(jiān)視程序所需的性能信息。

查看度量歷史記錄信息  
在某些 V$ 視圖中顯示了度量值,其中的這些值是非常小的時間間隔內(nèi)的平均值。這些間隔可能會變化(從 15 秒到 10 分鐘),這取決于度量的類別。V$ 視圖中數(shù)據(jù)的快照將保留在 DBA_HIST 表中。
幻燈片列出了一些度量和 AWR 視圖。  
例如:
V$SYSMETRIC_HISTORY 顯示了數(shù)據(jù)庫中可用的所有系統(tǒng)度量值。此視圖同時顯示了持續(xù)時間較長(60 秒,1 小時歷史記錄)和持續(xù)時間較短(15 秒,僅一個間隔)的度量。
DBA_HIST_SESSMETRIC_HISTORY 顯示了幾個重要會話度量的歷史記錄。其包含 V$SYSMETRIC_HISTORY 視圖的樣本(快照)。
有關這些視圖的詳細信息和列詳細信息,請參閱《Oracle Database Reference》。 使用 EM 查看度量詳細資料
使用“All Metrics(所有度量)”頁來查看可用于數(shù)據(jù)庫的所有性能度量的列表。可從“Database(數(shù)據(jù)庫)”主頁上訪問此頁,方法是單擊“Related Links(相關鏈接)”部分的“All Metrics(所有度量)”鏈接。
在“All Metrics(所有度量)”頁中,可展開所有或特定度量組來查看特定度量。通過選中一個度量,即可顯示該度量的頁面??刹榭茨骋惶囟〞r段內(nèi)的度量值,并且可自定義此視圖。相應的圖形將顯示該度量值的歷史記錄。
要從“Database(數(shù)據(jù)庫)”主頁上訪問此頁,單擊“Related Links(相關鏈接)”部分的“All Metrics(所有度量)”。在“All Metrics(所有度量)”頁中,展開“Waits by Wait Class(按等待類等待)”,然后單擊“Database Time Spent Waiting(%)(等待所用的數(shù)據(jù)庫時間百分比 (%))”。在“Database Time Spent Waiting(%)(等待所用的數(shù)據(jù)庫時間百分比 (%))”頁上,單擊“Concurrency(并發(fā)性)”。 統(tǒng)計信息直方圖
雖然度量可以使您了解特定統(tǒng)計信息的趨勢,但它無法告知某個特定瓶頸是影響局部還是影響整個系統(tǒng)。例如,您可能觀察到一個變化率大的度量,但這一突然變大可能只局限在系統(tǒng)的一個或兩個會話中。在這種情況下,可能就沒必要深入研究該問題了。但是,如果此突發(fā)性的增長全面影響到整個系統(tǒng),則需要做進一步的調(diào)查??赏ㄟ^直方圖性能視圖獲得此信息。
如幻燈片所示,您可觀察到 I/O 比率有一個突發(fā)性的增長??蓪⒋诵畔⑴c在 V$FILE_HISTOGRAM 中找到的相應 I/O 直方圖關聯(lián)。此視圖顯示基于每個文件的所有單塊讀取數(shù)的直方圖。直方圖中具有時間間隔時段,以毫秒為度量單位,從 1 毫秒到 222 毫秒(69.9 分鐘)。每個時段內(nèi)的值是系統(tǒng)等待該時間量的次數(shù)。例如,從幻燈片可看出,為了從磁盤中讀取數(shù)據(jù)塊,系統(tǒng)等待了 5,500 次,每次等待時間介于 32 到 64 毫秒之間。如果訪問時間通常小于 10 毫秒,則對系統(tǒng)而言,這肯定是一個需要關注的問題,應當進一步研究此問題。如果在較短的等待時間段內(nèi)看到較大的次數(shù),則無需過于擔心。
度量可提醒您提前注意潛在的問題。通過使用直方圖進行細查,可明確地確定是否真的存在問題。

直方圖視圖
V$EVENT_HISTOGRAM 顯示基于事件的等待次數(shù)的直方圖。
V$FILE_HISTOGRAM 顯示基于每個文件的所有單塊讀取數(shù)的直方圖。  
V$TEMP_HISTOGRAM 顯示基于每個臨時文件的所有單塊讀取數(shù)的直方圖。
直方圖可具有以下時間間隔:< 1 毫秒、< 2 毫秒、< 4 毫秒、< 8 毫秒……< 2^21 毫秒、 < 2^22 毫秒、>= 2^22 毫秒。  
還可通過 Enterprise Manager 來查看該直方圖統(tǒng)計信息。從“Performance(性能)”頁,單擊“Active Sessions(活動會話)”圖的圖例區(qū)域項,如“User I/O(用戶 I/O)”,以進入“Active Sessions Waiting:User I/O(活動會話等待:用戶 I/O)”頁。再次單擊“Active Sessions(活動會話)”圖右側的等待事件名稱,以進入相應的“Histogram for Wait Event(等待事件的直方圖)”頁?;脽羝巷@示了“Histogram for Wait Event:db file sequential read(等待事件的直方圖:DB 文件連續(xù)讀?。眻D。
注:除非 TIMED_STATISTICS 初始化參數(shù)已設置為 TRUE(該值為默認值),否則不會填充直方圖。當 STATISTICS_LEVEL 參數(shù)設置為 TYPICAL 或 ALL 時,會自動設置 TIMED_STATISTICS。 服務器生成的預警
預警是當數(shù)據(jù)庫處于不理想狀態(tài)且需要引起注意時發(fā)出的通知。默認情況下,Oracle 數(shù)據(jù)庫會通過顯示預警的 Oracle Enterprise Manager Database Control 發(fā)送預警。也可選擇配置 Oracle Enterprise Manager,以向管理員發(fā)送電子郵件,報告問題狀況。Oracle 數(shù)據(jù)庫服務器還會在工作量資料庫中保留度量和預警的歷史記錄。  
預警隊列是永久性的多使用者隊列,可供要編寫自定義預警處理程序的用戶使用。
默認情況下會設置幾個主要度量的閾值,如設置“Tablespace Used (%)(使用的表空間 (%))”的閾值??蔀槟南到y(tǒng)設置相關度量的閾值。如果數(shù)據(jù)庫偏離正常讀數(shù)且超過了這些閾值,則 Oracle Database 11g 會主動發(fā)送預警來通知您。提前通知潛在的問題,可使您迅速作出響應,并通常在用戶注意到這些問題之前就解決這些問題。
一些可提前提供問題通知的重要度量有:
平均文件讀取時間(厘秒)
響應時間(每一事務處理)
SQL 響應時間 (%)
等待時間 (%)
數(shù)據(jù)庫控制使用模型
以下是服務器生成的預警的基本使用模型:
如果需要,可更改服務器預警度量的閾值設置。 可通過使用數(shù)據(jù)庫控制或 PL/SQL 過程來實現(xiàn)此操作。
可通過使用數(shù)據(jù)庫控制來建立通知規(guī)則(例如電子郵件地址或封鎖期)。
生成預警后,數(shù)據(jù)庫控制會在預警頁中顯示該預警。數(shù)據(jù)庫控制會向已注冊接收通知的管理員發(fā)送通知。
收到預警后,可根據(jù)預警中給出的建議更正問題。
注:應確保 STATISTICS_LEVEL 初始化參數(shù)設置為 TYPICAL 或 ALL。 設置閾值
要設置或編輯閾值,請在“Database(數(shù)據(jù)庫)”主頁的“Related Links(相關鏈接)”區(qū)域選擇“Metrics and Policy Settings(度量和策略設置)”。如果要更改閾值,則輸入所需的“Warning Threshold(警告閾值)”和“Critical Threshold(嚴重閾值)”。選擇“All Metrics(所有度量)”視圖,以添加閾值。數(shù)據(jù)庫達到指定的值時,就會出現(xiàn)相應的預警。單擊“Edit(編輯)”按鈕以指定其它響應操作,或添加閾值到一組預警下的各個對象,如特定表空間上的已用閾值百分比。  
收集調(diào)度指定收集的頻率??筛氖占{(diào)度,但不可針對各個閾值進行。收集調(diào)度是針對度量組而設置的。單擊“Collection schedule(收集調(diào)度)”以編輯該調(diào)度,或查看使用該調(diào)度而收集的度量。
“Edit(編輯)”按鈕為一個圖標,其形式為一支鉛筆或一組鉛筆。單擊形式為單支鉛筆的“Edit(編輯)”,可更改閾值和該度量的并發(fā)性屬性。使用形式為多支鉛筆的“Edit(編輯)”按鈕,可添加閾值到該度量組中的各個對象,比如在各個表空間上添加不同的閾值。 創(chuàng)建和測試預警
還可為特定對象設置閾值。
示例:您決定要在 INVENTORY 表空間中使用的空間超過 75% 時收到嚴重預警。(此表空間不允許其數(shù)據(jù)文件自動進行擴展)。要創(chuàng)建和測試該預警,請執(zhí)行以下步驟:
1.        在 Oracle Enterprise Manager 中,定位至“Tablespace(表空間)”頁,然后設置所需閾值。
2.        在 SQL*Plus 中,使用 CREATE TABLE … TABLESPACE … AS SELECT … 命令將現(xiàn)有表復制到相關的表空間中。繼續(xù)將行添加到此表中以填充表空間。
3.        在收到提示此表無法擴展的錯誤后,請檢查“Database Instance(數(shù)據(jù)庫實例)”主頁以獲取相關聯(lián)的預警。  
大多數(shù)預警都包含相關指導的名稱,可調(diào)用該指導以獲得詳細建議。對于每一條相應的預警消息,數(shù)據(jù)庫控制都會提供一個鏈接以供調(diào)用相應的指導。
注:每隔 10 分鐘評估一次“表空間已滿”預警。 “度量”視圖和“預警”視圖
啟用后,MMON 會定期計算度量值并在內(nèi)存中保留一小時。可通過 V$SYSMETRIC 視圖和 V$SYSMETRIC_HISTORY 視圖查看內(nèi)存中系統(tǒng)級別的度量值。對于服務級別的度量,也可使用類似的視圖。
只需啟用 AWR 的自動快照機制,即可為所有這些度量啟用磁盤度量收集??赏ㄟ^ DBA_HIST_* 視圖查看度量的磁盤值。度量歷史記錄的清除策略和其它快照數(shù)據(jù)的清除策略相同。
通過下列字典視圖,可訪問有關服務器預警的信息:
DBA_OUTSTANDING_ALERTS 說明 Oracle 數(shù)據(jù)庫服務器認為處于未處理狀態(tài)的預警。
DBA_ALERT_HISTORY 表示不再處于未處理狀態(tài)的預警的有限時間內(nèi)的歷史記錄。
DBA_THRESHOLDS 提供為該實例定義的閾值設置。
V$ALERT_TYPES 提供有關每個服務器預警類型的信息。
注:有關這些視圖的詳細信息,請參閱《Oracle Database Reference》指南。 查看用戶定義的 SQL 度量
除了服務器計算的度量,EM 還計算其自己的度量集。“User-Defined Metrics(用戶定義的度量)”頁列出了用戶定義的現(xiàn)有 SQL 度量??刹榭炊攘繑?shù)據(jù);查看、編輯或刪除度量定義;或根據(jù)現(xiàn)有的度量創(chuàng)建其他用戶定義的 SQL 度量。如果未創(chuàng)建任何用戶定義的 SQL 度量,則該列表為空。  
可自定義 EM 度量集,并可創(chuàng)建自己的、由 EM 檢查的度量。要創(chuàng)建自己的度量,請打開“User-Defined Metrics(用戶定義的度量)”頁并單擊“Create(創(chuàng)建)”。該鏈接在“Database(數(shù)據(jù)庫)”主頁的“Related Links(相關鏈接)”部分中。 創(chuàng)建用戶定義的 SQL 度量
通過“User-Defined Metrics(用戶定義的度量)”頁可定義 SQL 度量。訪問此頁的路徑是“Database Home >“User-Defined Metrics (Related Links section) > Create(數(shù)據(jù)庫主頁 > 用戶定義的度量(“相關鏈接”部分)> 創(chuàng)建)” 。為該度量分配一個名稱,創(chuàng)建一條返回單個值或兩列內(nèi)容的 SQL 語句。在該兩列中,第一列為“鍵”,第二列為“值”??蔀槊總€鍵設置警告和嚴重閾值。  
有關創(chuàng)建用戶定義的度量的詳細信息,請參閱《Oracle Enterprise Manager Advanced Configuration 10g Release 4》。
注:雖然“All Metrics(所有度量)”頁中不顯示用戶定義的度量,但主頁的“Alerts(預警)”部分會報告任何超出閾值的情況。

查看用戶定義的主機度量
類似于用戶定義的 SQL 度量,您也可創(chuàng)建并查看用戶定義的主機度量。  
可自定義 EM 度量集,并可創(chuàng)建自己的、由 EM 檢查的度量。要創(chuàng)建自己的度量,請打開“User-Defined Metrics(用戶定義的度量)”頁并單擊“Create(創(chuàng)建)”。該鏈接在“Host(主機)”主頁的“Related Links(相關鏈接)”部分中。要定位至此頁,請單擊“Database(數(shù)據(jù)庫)”主頁上的“Hostname(主機名)”鏈接,然后單擊“Host(主機)”頁上相關鏈接部分中的“User-Defined Metrics(用戶定義的度量)”。 創(chuàng)建用戶定義的主機度量
通過“User-Defined Metrics(用戶定義的度量)”頁可定義主機度量。訪問此頁的路徑是“Database Home > Hostname > User-Defined Metrics (Related Links section) > Create(數(shù)據(jù)庫主頁 > 主機名 > 用戶定義的度量(“相關鏈接”部分)> 創(chuàng)建)” 。為該度量分配一個名稱,并創(chuàng)建一條返回單個值的主機命令行語句??稍陂撝挡糠衷O置警告和嚴重閾值。  
注:雖然“All Metrics(所有度量)”頁中不顯示用戶定義的度量,但主頁的“Alerts(預警)”部分會報告任何超出閾值的情況。

創(chuàng)新互聯(lián)建站聯(lián)系電話:13518219792,為您提供成都網(wǎng)站建設網(wǎng)頁設計及定制高端網(wǎng)站建設服務,創(chuàng)新互聯(lián)建站網(wǎng)頁制作領域10多年,包括發(fā)電機維修等多個領域擁有多年建站經(jīng)驗,選擇創(chuàng)新互聯(lián)建站,為企業(yè)錦上添花。

當前文章:Oracle性能優(yōu)化使用度量和預警
路徑分享:http://bm7419.com/article18/jceigp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、搜索引擎優(yōu)化網(wǎng)站收錄、網(wǎng)站改版、網(wǎng)站維護企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設公司