亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Oracle > 正文

Oracle Database 10 g : 為 DBA 提供的最佳前 20 位的特性(六)

2024-08-29 13:46:59
字體:
來源:轉載
供稿:網友
Oracle Database 10 g : 為 DBA 提供的最佳前 20 位的特性(六) 第 6 周
自動工作負載信息庫 學習使用新的特性,這些特性采集數據庫性能統計數據和量度,以供分析和調整,并顯示在數據庫中花費的準確時間,甚至保存會話信息 當您有數據庫性能問題時,要解決它您首先要作的是什么?一種常見的方法是看是否存在一種模式:回答諸如 “ 相同的問題是否重復出現? ” , “ 它是否在某個特定的時間段出現? ” 和 “ 兩個問題之間是否有聯系? ” 之類的問題,將幾乎總會帶來更好的診斷結果。 作為一個數據庫治理員,您可能已經投資購買了第三方工具或使用自己開發的工具來在數據庫運行期間采集具體的統計數據,并從這些統計數據中導出獲得性能量度。在緊急的情況下,您可以訪問這些量度來與當前的情況作比較。再度查看這些過去的事件可以給當前的問題帶來一些啟發,因此不斷采集相關的統計數據對于性能分析變得很重要。 一段時間以來, Oracle 在這個領域中的解決方案是它內置的工具 Statspack 。雖然某些情況下證實它是非常有價值的,但經常缺少性能故障診斷實踐所需的強健性。 Oracle Database 10 g 提供了一個顯著改進的工具:自動工作負載信息庫 (AWR) 。 AWR 和數據庫一起安裝,不但采集統計數據,還采集導出的量度。 快速測試驅動程序 通過運行 $ORACLE_HOME/rdbms/admin 目錄中的 awrrpt.sql 腳本, AWR 的功能可以立即通過它從采集的統計數據和量度中生成的報表得到最好的說明。這個腳本從外觀和感覺上類似于 Statspack ,它顯示所有的現有 AWR 快照并請求兩個特定的快照作為時間間隔邊界。它產生兩種類型的輸出:文本格式(類似于 Statspack 報表的文本格式但來自于 AWR 信息庫)和默認的 Html 格式(擁有到部分和子部分的所有超鏈接),從而提供了非常用戶友好的報表。現在運行該腳本以查看報表,從而對 AWR 的功能有一個了解。 實施 現在,讓我們來看看 AWR 是如何設計和構建的。 AWR 實質上是一個 Oracle 的內置工具,它采集與性能相關的統計數據,并從那些統計數據中導出性能量度,以跟蹤潛在的問題。與 Statspack 不同,快照由一個稱為 MMON 的新的后臺進程及其從進程自動地每小時采集一次。為了節省空間,采集的數據在 7 天后自動清除??煺疹l率和保留時間都可以由用戶修改。要查看當前的設置,您可以使用下面的語句: select snap_interval, retention from dba_hist_wr_control;   SNAP_INTERVAL RETENTION ------------------- ------------------- +00000 01:00:00.0 +00007 00:00:00.0 這些 SQL 語句顯示快照每小時采集一次,采集的數據保留 7 天。要修改設置 — 例如,快照時間間隔為 20 分鐘,保留時間為兩天 — 您可以發出以下命令。參數以分鐘為單位。 begin dbms_workload_repository.modify_snapshot_settings ( interval => 20, retention => 2*24*60 ); end; AWR 使用幾個表來存儲采集的統計數據,所有的表都存儲在新的名稱為 SYSAUX 的特定表空間中的 SYS 模式下,并且以 WRM$_* 和 WRH$_* 的格式命名。前一種類型存儲元數據信息(如檢查的數據庫和采集的快照),后一種類型保存實際采集的統計數據。(您可能已經猜到, H 代表 “ 歷史數據 (historical)” 而 M 代表 “ 元數據 (metadata)” 。)在這些表上構建了幾種帶前綴 DBA_HIST_ 的視圖,這些視圖可以用來編寫您自己的性能診斷工具。視圖的名稱直接與表相關;例如,視圖 DBA_HIST_SYSMETRIC_SUMMARY 是在 WRH$_SYSMETRIC_SUMMARY 表上構建的。 AWR 歷史表采集的信息比 Statspack 多許多,這些信息包括表空間使用率、文件系統使用率、甚至操作系統統計數據。這些表的完整的列表可以通過以下命令從數據字典中看到: select view_name from user_views where view_name like 'DBA/_HIST/_%' escape '/'; 視圖 DBA_HIST_METRIC_NAME 定義 AWR 采集到的重要的量度、它們所屬的組和采集它們的單位。例如,下面是一個記錄(豎直格式): DBID : 4133493568 GROUP_ID : 2 GROUP_NAME : System Metrics Long Duration METRIC_ID : 2075 METRIC_NAME : CPU Usage Per Sec
METRIC_UNIT : CentiSeconds Per Second 它顯示一個量度 “ 每秒 CPU 使用率 ” 以 “ 每秒的厘秒數 ” 為單位進行測量,并且該量度屬于一個量度組 “System Metrics Long Duration” 。這條記錄可以和其它的表(如 DBA_HIST_SYSMETRIC_SUMMARY )結合,以獲得數據庫的活動信息,形式如下: select begin_time, intsize, num_interval, minval, maxval, average, standard_deviation sd from dba_hist_sysmetric_summary where metric_id = 2075;   BEGIN INTSIZE NUM_INTERVAL MINVAL MAXVAL AVERAGE SD ----- ---------- ------------ ------- ------- -------- ---------- 11:39 179916 30 0 33 3 9.81553548 11:09 180023 30 21 35 28 5.91543912   ... and so on ... 下面我們看看 CPU 時間是如何消耗的(以厘秒為單位)。標準差加入到了我們的分析中,它有助于確定平均數字是否反映了實際的工作負載。在第一條記錄中,平均值是每秒消耗 CPU 時間 3 厘秒,但標準差是 9.81 ,這意味著平均值 3 不能反映工作負載。在第二個例子中,平均值為 28 ,標準差為 5.9 ,這更具有代表性。這種類型的信息趨勢有助于了解幾個環境參數對性能量度的影響。 使用統計數據 迄今為止,我們看到了 AWR 所采集的內容,現在讓我們看看它將如何處理數據。 大多數性能問題并不是孤立存在的,而留有指示性的跡象,這些跡象將通向問題最終的根源。讓我們使用一個典型的調整實踐來說明這一點:您注重到系統很慢,于是決定查看等待的原因。您檢查發現 “ 緩沖區忙等待 ” 非常高。問題可能出在哪里呢?有幾種可能:可能有一個單調增加的索引,可能一個表太滿了,以至于要求將單個數據塊非??焖俚丶虞d到內存中,或其它一些因素。無論在哪種情況下,您都首先要確定存在問題的段。假如它是一個索引段,那么您可以決定重新構建它,把它修改為一個反向鍵索引,或把它轉換成一個在 Oracle Database 10 g 中引進的散列分區索引。假如它是一個表,您可以考慮修改存儲參數來使它不那么密集,或者利用自動段空間治理把它轉移到一個表空間中。 您的處理計劃一般是有規律的,并且通?;谀鷮Ω鞣N事件的了解和您處理它們的經驗。現在設想相同的事情由一個引擎來完成,這個引擎采集量度并根據預先確定的邏輯來推出可能的計劃。您的工作不就變得更輕松了嗎? 現在在 Oracle Database 10 g 中推出的這個引擎稱為自動數據庫診斷監控程序 (ADDM) 。為了作出決策, ADDM 使用了由 AWR 采集的數據。在上面的討論中, ADDM 可以看到發生了緩沖區忙等待,然后取出相應的數據來查看發生緩沖區忙等待的段,評估其特性和成分,最后為數據庫治理員提供解決方案。在 AWR 進行的每一次快照采集之后,調用 ADDM 來檢查量度并生成建議。因此,實際上您擁有了一個一天二十四小時工作的自動數據庫治理員,它主動地分析數據并生成建議,從而把您解放出來,使您能夠關注更具有戰略意義的問題。 要查看 ADDM 建議和 AWR 信息庫數據,請使用在名稱為 DB Home 的頁面上的新的 EnterPRise Manager 10 g 控制臺。要查看 AWR 報表,您可以從治理轉至工作負載信息庫,然后轉至 Snapshots 來查看它們。在以后的部分中,我們將更具體地討論 ADDM 。 您還可以指定根據特定的情況來生成警報。這些警報稱為服務器生成警報,它們被推送到高級隊列中,在其中它們可以被任意監聽它的客戶端使用。一個這樣的客戶端是 Enterprise Manager 10 g ,在其中警報被突出顯示。 時間模型 當您有性能問題時,要縮短響應時間您最先想到的是什么?很明顯,您希望消除(或減少)增加時間的因素的根源。您如何知道時間花費在哪里 — 不是等待,而是真正在進行工作? Oracle Database 10 g 引進了時間模型,以確定在各個地方花費的時間。花費的總的系統時間記錄在視圖 V$SYS_TIME_MODEL 中。下面是查詢和輸出結果。 STAT_NAME VALUE ------------------------------------- -------------- DB time 58211645 DB CPU 54500000 background cpu time 254490000 sequence load elapsed time 0 parse time elapsed 1867816 hard parse elapsed time 1758922 sql execute elapsed time 57632352 connection management call elapsed time 288819 failed parse elapsed time 50794 hard parse (sharing criteria) elapsed time 220345 hard parse (bind mismatch) elapsed time 5040 PL/SQL execution elapsed time 197792 inbound PL/SQL rpc elapsed time 0 PL/SQL compilation elapsed time 593992 java execution elapsed time 0
bind/define call elapsed time 0 注重名稱為 DB Time 的統計量,它代表自從例程啟動起在數據庫中花費的時間。運行示例工作負載,并再次從視圖中選中統計值。統計值的差異將代表該工作負載在數據庫中花費的時間。在又一個調整回合之后,執行相同的分析,統計值的差異將顯示在調整之后 DB Time 的變化,這可以與第一次修改進行比較,以查看調整動作對數據庫時間的影響。 除數據庫時間之外, V$SYS_TIME_MODEL 視圖顯示了很多其它的統計量,如在不同類型的分析,甚至在 PL/SQL 編譯中花費的時間。 這個視圖還顯示了總的系統時間,不過您可能對一個更加具體的視圖感愛好:會話級時間。時間統計數據還在會話級進行采集,如視圖 V$SESS_TIME_MODEL 中所示,在其中可以看到當前連接的會話(活動和不活動的)的所有統計數據。額外的列 SID 指示顯示的統計數據的會話的 SID 。 在早期的版本中,這種分析是不可能得到的,用戶被迫進行猜測或從各種來源進行分析。在 Oracle Database 10 g 中,獲得這種信息輕而易舉。 活動會話歷史 Oracle Database 10 g 中的視圖 V$session 得到了改善;所有這些改善中最有價值的是包含了等待事件和它們的持續時間,從而不再需要查看視圖 V$SESSION_WAIT 。不過,因為這個視圖只反映實時的值,所以當稍后查看它時,一些重要的信息丟失了。例如,假如您選擇從這個視圖中檢查是否有任何會話在等待任何非空閑的事件,假如有的話,調查這個事件,您可能發現不了任何東西,因為到您選中它的時候等待一定已經結束了。 進入新的特性活動會話歷史 (ASH) ,它類似于 AWR ,在一個緩沖區中存儲會話性能統計數據,以便稍后進行分析。不過,與 AWR 不同,存儲不是永久性地在一個表中進行,而是在內存中進行,并在視圖 V$ACTIVE_SESSION_HISTORY 中顯示。數據每秒輪詢一次,并且只有輪詢活動會話。隨著時間進行,舊的項目在一個循環緩沖區中被刪除,以容納新的項目,并且這些舊的項目將在視圖中顯示。要找出有多少個會話在等待某些事件,您可以使用下面的命令 select session_id','session_serial# SID, n.name, wait_time, time_waited from v$active_session_history a, v$event_name n where n.event# = a.event# 這條命令告訴您事件的名稱和等待花費了多少時間。假如您想要深入調查某個特定的等待事件, ASH 的額外的列也將幫助您實現這一目的。例如,假如會話等待的事件之一是緩沖區忙等待,那么正確的診斷必須指出發生等待事件的段。您可以從 ASH 視圖列 CURRENT_OBJ# 中獲得這一信息,然后該列可以和 DBA_OBJECTS 結合,以獲得存在問題的段。 ASH 還記錄并行查詢服務器會話,這對診斷并行查詢等待事件非常有用。假如記錄是針對一個并行查詢從屬進程,那么協調服務器會話的 SID 由 QC_SESSION_ID 列指定。列 SQL_ID 記錄產生等待事件的 SQL 語句的 ID ,該列可以和 V$SQL 視圖結合,以獲取存在問題的 SQL 語句。為了方便一個共享用戶環境(如 web 應用程序)中的客戶端的識別,也顯示了 CLIENT_ID 列,這可以由 DBMS_SESSION.SET_IDENTIFIER 來設置。 既然 ASH 信息這么有價值,那么假如以一種類似于 AWR 的永久方式來保存這種信息不是很好嗎?幸運的是,它是以這種方式來進行保存的;由 MMON 從進程將信息刷新到 AWR 表中,從而保存在磁盤上,并且信息可以通過視圖 DBA_HIST_ACTIVE_SESS_HISTORY 來查看。 人工采集 快照默認是自動采集的,但您也可以按需要采集它們。所有的 AWR 功能都在程序包 DBMS_WORKLOAD_REPOSITORY 中實施。要采集一次快照,只需發出下面的命令: execute dbms_workload_repository.create_snapshot 它立即采集一次快照,快照被記錄在表 WRM$_SNAPSHOT 中。采集的量度是針對 TYPICAL 級別的。假如您想采集更具體的統計數據,您可以在上面的過程中將參數 FLUSH_LEVEL 設置為 ALL 。統計數據自動刪除,但也可以通過調用過程 drop_snapshot_range() 來手動刪除。 基準線 一次典型的性能調整實踐從采集量度的基準線集合、作出改動、然后采集另一個基準線集合開始??梢员容^這兩個集合來檢查所作的改動的效果。在 AWR 中,對現有的已采集的快照可以執行相同類型的比較。假定一個名稱為 apply_interest 的高度資源密集的進程在下午 1:00 到 3:00 之間運行,對應快照 ID 56 到 59 。我們可以為這些快照定義一個名稱為 apply_interest_1 的基準線: exec dbms_workload_repository.create_baseline (56,59,'apply_interest_1') 這一操作將快照從 56 到 59 編號,作為上面指定的基準線的一部分。查看現有的基準線: select * from dba_hist_baseline;   DBID BASELINE_ID BASELINE_NAME START_SNAP_ID END_SNAP_ID ---------- ----------- -------------------- ------------- ----------- 4133493568 1 apply_interest_1 56 59 在一些調整步驟之后,我們可以創建另一個基準線 — 假設名稱為 apply_interest_2 ,然后只為那些與這兩條基準線相關的快照比較量度。像這樣把快照分隔在僅僅幾個集合中有助于研究調整對于性能量度的影響。您可以在分析之后使用 drop_baseline() 來刪除基準線;快照將保留。此外,當清除例程開始刪除舊的快照時,與基準線相關的快照不會被清除,從而答應進行進一步的分析。 結論 這一部分的目的只是介紹 AWR 非?;镜姆矫妗jP于更完整的內容,請參見 Oracle Database 10 g 文檔 。此外,關于 AWR 和 ADDM 的一個極好的論述可以在技術白皮書 自我治理的數據庫:自動性能診斷 中找到。
在第 15 周,您將了解到關于 ADDM 及使用它來解決實際問題的更多內容,。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久全球大尺度高清视频| 一本色道久久88综合日韩精品| 在线看福利67194| 日韩欧美一区二区三区久久| 欧美成人免费全部观看天天性色| 91国产视频在线播放| 精品人伦一区二区三区蜜桃免费| 中文字幕日韩在线视频| 欧美成人精品一区二区| 成人a视频在线观看| 亚洲香蕉av在线一区二区三区| 欧美视频在线观看免费| 亚洲激情在线观看| 亚洲精品成人网| 亚洲高清色综合| 精品久久久久久久久久久久| 亚洲电影av在线| 日产日韩在线亚洲欧美| 在线精品视频视频中文字幕| 亚洲丁香久久久| 亚洲第一免费播放区| 国产精品亚洲第一区| 国产精品视频公开费视频| 精品人伦一区二区三区蜜桃网站| 精品亚洲一区二区三区四区五区| 欧美国产欧美亚洲国产日韩mv天天看完整| 国产精品成人观看视频国产奇米| 欧美最顶级的aⅴ艳星| 亚洲精品视频在线观看视频| 欧美性猛交xxxx富婆弯腰| 亚洲18私人小影院| 97在线免费观看| 亚洲电影中文字幕| 亚洲精品中文字幕av| 亚洲女人天堂av| 亚洲精品456在线播放狼人| 亚洲成人亚洲激情| 亚洲国产毛片完整版| 欧美中文在线观看国产| 久久久久久久久爱| 国产在线精品自拍| 国产成人综合精品在线| 久久久久日韩精品久久久男男| 韩国欧美亚洲国产| 欧美激情二区三区| 日韩精品在线观看视频| 欧美一区二区三区艳史| 欧美激情视频在线观看| 91精品国产沙发| 亚洲人精品午夜在线观看| 久久色免费在线视频| 日韩av综合网站| 国产精品日韩欧美综合| 久久不射电影网| 狠狠色狠狠色综合日日五| 久久影视电视剧凤归四时歌| 久久精品视频99| 中文字幕国产亚洲| 91国偷自产一区二区三区的观看方式| 亚洲免费成人av电影| 久久手机免费视频| 国产精品精品视频一区二区三区| 国产欧美va欧美va香蕉在| 亚洲国产天堂久久国产91| 久久久人成影片一区二区三区观看| 美日韩丰满少妇在线观看| 亚洲综合日韩在线| 色综合色综合网色综合| 欧美午夜女人视频在线| 亚洲毛片一区二区| 中文字幕少妇一区二区三区| 尤物99国产成人精品视频| 黑人巨大精品欧美一区二区一视频| 国产精品旅馆在线| 久久色在线播放| 国产精品黄视频| 久久国产精品久久久| 欧美午夜精品伦理| 久久成人一区二区| 亚洲人成在线电影| 亚洲人成在线一二| 97成人精品视频在线观看| 欧美电影免费观看高清完整| 国产精品久久久久不卡| 日韩av在线最新| 亚洲成人av在线| 亚洲午夜激情免费视频| 成人午夜黄色影院| 日韩人在线观看| 中日韩午夜理伦电影免费| 精品国产视频在线| 日韩av成人在线| 精品激情国产视频| 亚洲国产成人精品女人久久久| 日韩精品一区二区视频| 欧美人交a欧美精品| 日韩免费在线视频| 国产精品欧美激情| 97视频在线观看亚洲| 在线观看日韩www视频免费| 伊人久久男人天堂| 国产精品扒开腿做爽爽爽男男| 精品国产欧美一区二区五十路| 亚洲综合一区二区不卡| 欧美激情极品视频| 精品视频在线播放免| 日韩精品中文字幕在线播放| 777午夜精品福利在线观看| 午夜精品一区二区三区在线视频| 欧美大胆a视频| 成人激情免费在线| 美女999久久久精品视频| 亚洲专区国产精品| 欧美寡妇偷汉性猛交| 日韩欧美有码在线| 成人亚洲欧美一区二区三区| 亚洲精品99久久久久| 亚洲跨种族黑人xxx| 午夜精品久久久99热福利| 成人有码视频在线播放| 欧美人在线观看| 久久九九热免费视频| 色婷婷av一区二区三区久久| 美女视频久久黄| 国产一区二区动漫| 91色琪琪电影亚洲精品久久| 亚洲社区在线观看| 国产在线精品播放| 97欧美精品一区二区三区| 国产精品最新在线观看| 欧美激情一区二区三区在线视频观看| 日韩高清电影免费观看完整版| 亚洲va久久久噜噜噜| 日韩激情第一页| 91色中文字幕| 欧美日韩中文在线| 午夜精品美女自拍福到在线| 亚洲欧美三级伦理| 日韩亚洲国产中文字幕| 国产精品黄视频| 91精品国产乱码久久久久久蜜臀| 精品精品国产国产自在线| 在线看日韩av| 日韩av综合网站| 欧美精品在线视频观看| 91在线视频导航| 韩国精品美女www爽爽爽视频| 国产精品美女久久久久av超清| 青青草国产精品一区二区| 国产欧美一区二区三区久久人妖| 精品久久久国产| 日韩中文视频免费在线观看| 日韩在线中文字幕| 国产91精品视频在线观看| 成人免费高清完整版在线观看| 疯狂做受xxxx高潮欧美日本| 精品电影在线观看| 欧美性xxxxx| 91香蕉国产在线观看| www.日韩不卡电影av| 国产欧美精品xxxx另类| 97av在线影院| 日韩av片永久免费网站| 日本一区二区不卡|