<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
有興趣的朋友可以參加下這個鏈接裏的會:http://wmdata.com.cn/oracle/11g/index.html
數據庫重放和 SQL Performance Analyzer是Oracle11g的真正應用測試的兩大解決方案,也是我在動手過程中感觸頗深的亮點。
數據庫重放
數據庫重放(DBR)是:使DBA可以捕獲在生產系統上產生的負載,包括跨多個會話同時收集所有依賴的事務時捕獲並行執行的相同SQL語句的能力,然後有選擇性地或跨大範圍的數據庫環境和平臺全部重放。這就像準確的系統迴歸實況錄像,因爲其他外部因素(如網絡等待時間)減少了或沒有了,所有記錄下來的SQL語句組成了重放的負載。
第一步:捕獲負載
建立了一個新用戶、表、索引和相關的PL/SQL對象,初始化源數據庫環境。
例如:在數據庫中爲該目錄創建一個目錄對象:
create directory dbcapture as '/home/oracle/dbcapture';
跟蹤Oracle庫的所有外部客戶端請求,以二進制文件的形式將其存儲到文件系統上,最好在捕獲負載之前備份整個數據庫。
第二步:處理負載
將捕獲的數據轉換爲重放文件,並創建重放負載所需的所有必要元數據。通常會將捕獲文件複製到另一個系統進行處理。捕獲的負載經過處理之後,可以在重放系統上反覆重放。
l 選擇Preprocess Workload;
l 選擇目錄對象或創建目錄;
l 單擊 Preprocess Workload;
l 提供作業名和相關細節(如主機用戶名和口令),或接受默認值;
l 單擊查看作業狀態的鏈接;
第三步:重放負載
一個名爲重放客戶端的客戶端程序處理重放文件並提交對數據庫的調用,時間和同步與在捕獲系統中完全相同。可以使用一個校準工具來幫助確定一個負載所需的重放客戶端的數量。
l 選擇Replay Workload;
l 選擇重放文件所在的目錄;
l 點擊Setup Replay;
l 單擊 Continue;
l 單擊頁面上顯示的鏈接更改所有非引用參數;
l 輸入Replay Name或接受默認值;
l 提供正確的 SYSTEM 口令,決定是否啓動多個客戶端來並行處理負載;
l 單擊 Next,單擊Submit啓動重放流程;
第四步:迴歸分析
重放期間遇到的所有錯誤都會被記錄下來。會顯示任何由 DML 或查詢返回的行中的差異。可使用 AWR 報告對捕獲和重放之間的性能統計信息進行詳細的比較。
l DB Replay Report:比較捕獲負載和重放負載的執行過程,查找任何可能的數據或錯誤迴歸的源。
l AWR Report:提供自動工作負載信息庫(AWR)報告,分析在重放操作開始到結束這段時間週期內的數據庫的整體性能。
l ASH Report:通過查看在重放期間的活動會話的歷史記錄(ASH),找出對性能影響最大的SQL語句和等待事件。
作者:李原