ASH 每秒對作用中 Session 採樣,資料量龐大。寫入磁碟 (AWR) 時僅保留 約 10% 採樣,採用 DIRECT_PATH INSERT 減少 Redo 產生,最小化效能影響。
| 層級 | 說明 |
|---|---|
| BASIC | 關閉 AWR 統計計算與衍生值,僅收集極少量統計。 |
| TYPICAL (預設) | 收集典型監控所需統計,平衡效能與可見度。 |
| ALL | 捕獲所有可能統計含 OS 資訊,僅建議短期診斷使用。 |
BEGIN
DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
END;
/
-- 驗證
SELECT COUNT(*) FROM WRH$_ACTIVE_SESSION_HISTORY;
BEGIN
DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE(
LOW_SNAP_ID => 96,
HIGH_SNAP_ID => 96,
DBID => 1160732652);
END;
/
-- 現況查詢
SELECT * FROM DBA_HIST_WR_CONTROL;
-- 修改:採集間隔 30 分鐘、保留 5 天 (單位:分鐘)
EXEC DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(
INTERVAL => 30,
RETENTION => 5*24*60);
-- 關鍵參數限制
-- INTERVAL: 0=關閉自動採集,最小 10 分鐘,典型 10/20/30/60/120
-- RETENTION: 0=關閉自動清除,最小 1 天 (1440 分鐘),預設 7 天 (10080 分鐘)
-- TOPNSQL: 每類 SQL 捕獲前 N 筆,DEFAULT 由系統決定
基線標記重要時段的快照對 (單一對),受保護不被自動清除,便於前後對比。
EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE(
START_SNAP_ID => 95,
END_SNAP_ID => 98,
BASELINE_NAME => 'apply_interest_1');
SELECT * FROM DBA_HIST_BASELINE;
SELECT * FROM WRM$_BASELINE;
-- 僅刪除基線標記,保留快照
EXEC DBMS_WORKLOAD_REPOSITORY.DROP_BASELINE(
BASELINE_NAME => 'apply_interest_1',
CASCADE => FALSE);
-- 連同快照一併刪除
EXEC DBMS_WORKLOAD_REPOSITORY.DROP_BASELINE(
BASELINE_NAME => 'apply_interest_2',
CASCADE => TRUE);
RETENTION ≥ 30 天,配合足夠 SYSAUX 空間。CREATE_SNAPSHOT 與 CREATE_BASELINE。DBMS_WORKLOAD_REPOSITORY.AWR_DIFF_REPORT 自動產生差異報告。STATISTICS_LEVEL = TYPICAL 為長期運行最佳平衡;排查疑難雜症臨時改 ALL 並事後改回。