oracle內部以一定的頻率把系統關鍵的統計資訊和負載情況儲存起來,生成snapshot(快照),全部的snapshot儲存在awr中。即automatic workload repository。
當發現資料庫出現效能問題時。就能夠抽取儲存在awr中的snapshot資訊,生成在指定時間段內(即你指定的snapshot所囊括的時間段)的awr報告。然後對報告進行分析。發現系統存在的問題。
select * from dba_hist_snapshot;
普通情況下。
snapshot
不須要手動管理,若有特殊須要,也能夠進行手動生成和刪除操作。
sql>execdbms_workload_repository.create_snapshot();
sql>exec dbms_workload_repository.dorp(low_snap_id=>1,high_snap_id=>2);
資料庫預設是每個小時進行一次snapshot生成操作,每個snapshot保留7天。
能夠通過下面語句查詢資料庫當前的快照生成配置資訊。
select * from dba_hist_wr_control;
若須要更改次預設引數,也能夠使用
sql>exec dbms_workload_repository.modify_snapshot_settings(interval=>60
retention=>3*24*60
當中:retention引數及保留時間。單位是min(分鐘)。
若設定為0。則快照將永久保留。
若設定為null,則保留原設定。此引數的範圍為1天---100年。
interval引數為生成snapshot頻率。單位是min(分鐘)。若設定為0。則表示禁用手動和自己主動生成快照的功能。
若設定為null,則保留原設定。此引數的範圍為10min---1年。
此外還有topnsql和dbid引數。topnsql表示要採集比較佔資源的sql數量。
了解了快照之後。就能夠利用snapshot生成awr報告。
自己主動生成是使用oem中的檢視awr相關項。手動生成時指執行oracle提供的執行指令碼。
指令碼位於$oracle_home/rdbms/admin/資料夾下,名字為awrrpt.sql。
sql>@?/rdbms/admin/awrrpt.sql
就可以。生成的路徑為你進入sqlplus前的當前資料夾。
所以若要把報告放在指定資料夾,可事先進入該資料夾。比方
cd /tmp/awr/
然後在進入sqlplus,手動生成awr報告。
生成awr報後報告。分析左側awr報告,這是乙個大問題,它是乙個更加困難的問題。以後慢慢說。
awr使用 生成awr報告步驟
生成awr報告步驟 首先需要sqlplus登入,然後步驟如下 第一步 測試開始 結束分別生成乙個快照 begin dbms workload repository.create shapshot end 有時候第一步會出現未定義的錯誤,此時需要用exec dbms workload reposito...
Oracle 每天自動生成AWR報告
經驗豐富的老員工希望能夠每天為資料庫生成1個awr報告,以便於後期分析資料庫的效能變化,手動生成太麻煩,查了一下資料,發現可以自動生成,過程如下。資料庫環境 11gr2 rac 雙節點 awr報告 由於是rac資料庫,希望生成每個節點的報告及全域性報告,時間段為 第一天的0點 第二天的0點。1 在o...
十一 效能測試 AWR報告生成
1.oracle提供了自帶的效能檢測工具 awr automatic workload reposity 自動工作負載庫 這個工具可以通過一些簡單的命令統計出後台大量的資料庫效能資訊。oracle啟動後,後台會有程序每小時採集一次快照,這些資訊都來自於v active session history...