收集系統統計信息(無工作負載/工作負載)

--系統統計信息存儲在字典表aux_stats$中
SYS@PROD1> desc aux_stats$
 Name						       Null?	Type
 ----------------------------------------------------- -------- ------------------------------------
 SNAME						       NOT NULL VARCHAR2(30)
 PNAME						       NOT NULL VARCHAR2(30)
 PVAL1								NUMBER
 PVAL2								VARCHAR2(255)

--下圖爲數據庫第一次啓動時候的統計信息,無工作負載統計信息總是可用的。
--如果顯式刪除他們,他們會在數據庫下次啓動的過程中自動收集。--dbms_stats.delete_system_stats();
SYS@PROD1> SELECT pname, nvl(to_char(pval1),pval2) AS pvalue FROM sys.aux_stats$;

PNAME			       PVALUE
------------------------------ --------------------
STATUS			       COMPLETED
DSTART			       09-18-2011 18:03
DSTOP			       09-18-2011 18:03
FLAGS			       1  --0代表是通過刪除後的的默認值;1代表是正常收集或設置的值;128爲通過還原的值
CPUSPEEDNW		       1413.33873910399  --無工作負載收集;CPU每秒鐘能夠處理的操作數量,無默認值。
IOSEEKTIM		       10  --無工作負載收集;定位磁盤數據所需平均時間單位爲毫秒,默認值爲10。
IOTFRSPEED		       4096  --無工作負載收集;每毫秒能夠從磁盤傳輸的平均字節數,默認值是4096。
SREADTIM  --工作負載收集;執行一個單塊讀操作所需的平均時間,單位爲毫秒。
MREADTIM  --工作負載收集;執行一個多塊讀操作所需的平均時間,單位爲毫秒。
CPUSPEED  --工作負載收集;一個CPU每秒鐘能夠處理的操作數量,單位爲百萬次。
MBRC  ----無工作/工作負載收集;多快讀操作每次讀的塊的數量。該統計信息只能在exadata模式下設置。
MAXTHR  --工作負載收集;整個系統的最大磁盤I/O吞吐率,以字節每秒爲單位。
SLAVETHR  --工作負載收集;一個單獨的並行處理子進程的平均磁盤I/O吞吐率。

13 rows selected.

--模擬執行工作負載統計信息收集
SYS@PROD1> exec dbms_stats.gather_system_stats(gathering_mode => 'start');  --開始收集

PL/SQL procedure successfully completed.

--**執行大量操作模擬負載**--

SYS@PROD1> exec dbms_stats.gather_system_stats(gathering_mode => 'stop');   --10分鐘後停止收集

PL/SQL procedure successfully completed.

SYS@PROD1> SELECT pname, nvl(to_char(pval1),pval2) AS pvalue FROM sys.aux_stats$;  --查看收集數據

PNAME			       PVALUE
------------------------------ --------------------
STATUS			       COMPLETED
DSTART			       05-17-2017 21:20
DSTOP			       05-17-2017 21:30
FLAGS			       1
CPUSPEEDNW		       1413.33873910399
IOSEEKTIM		       10
IOTFRSPEED		       4096
SREADTIM		       16.015
MREADTIM		       .01
CPUSPEED		       2360
MBRC
MAXTHR			       5085184
SLAVETHR		       512000

13 rows selected.

--模擬執行非工作負載統計信息收集
SYS@PROD1> exec dbms_stats.gather_system_stats(gathering_mode => 'noworkload');

PL/SQL procedure successfully completed.

SYS@PROD1> SELECT pname, nvl(to_char(pval1),pval2) AS pvalue FROM sys.aux_stats$;

PNAME			       PVALUE
------------------------------ --------------------
STATUS			       COMPLETED
DSTART			       05-17-2017 21:48
DSTOP			       05-17-2017 21:48
FLAGS			       1
CPUSPEEDNW		       1555
IOSEEKTIM		       15
IOTFRSPEED		       4096
SREADTIM		       16.015
MREADTIM		       .01
CPUSPEED		       2360
MBRC
MAXTHR			       5085184
SLAVETHR		       512000

13 rows selected.

發佈了178 篇原創文章 · 獲贊 12 · 訪問量 23萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章