關於SGA的常用動態效能檢視
關於SGA的常用動態效能檢視
V$sgainfo
用於展現SGA的資訊,包括不同SGA元件的大小,粒度,與空閒記憶體。
SQL> desc v$sgainfo
Name Null? Type
----------------------------------------- -------- ----------------------------
NAME VARCHAR2(32)
BYTES NUMBER
RESIZEABLE VARCHAR2(3)
name:SGA統計值的名稱
bytes:SGA統計值大小,單位bytes
resizeable:統計值是否可以調整YES or NO
V$sgastat
用於展現SGA的詳細資訊
SQL> desc v$sgastat
Name Null? Type
----------------------------------------- -------- ----------------------------
POOL VARCHAR2(12)
NAME VARCHAR2(26)
BYTES NUMBER
pool:name所在的池
name:SGA元件名稱
bytes:記憶體大小,單位bytes
v$sga_target_advice
用於展現對sga_target初始化引數的建議資訊
SQL> desc v$sga_target_advice
Name Null? Type
----------------------------------------- -------- ----------------------------
SGA_SIZE NUMBER
SGA_SIZE_FACTOR NUMBER
ESTD_DB_TIME NUMBER
ESTD_DB_TIME_FACTOR NUMBER
ESTD_PHYSICAL_READS NUMBER
SGA_SIZE:SGA大小
SGA_SIZE_FACTOR:SGA_SIZE與當前SGA大小的比值
ESTD_DB_TIME :預估的DB time
ESTD_DB_TIME_FACTOR:預估的DB time 與當前DB time的比值
ESTD_PHYSICAL_READS:預估的物理讀
DB time: It is calculated by aggregating the CPU and wait times of all sessions not waiting
on idle wait events (non-idle user sessions). DB time is measured cumulatively from the time
that the instance was started.
如果SGA記憶體管理沒有使用AMM特性,不會生成該檢視。
########################################################################################
下面對v$db_cache_advice的相關查詢與對V$shared_pool_advice不是在同一個資料庫中查詢的結果
這裡把他們放在一起,整合為一個關於SGA記憶體檢視的博文。
從oracle9i版本開始,oracle引進了多個緩衝區記憶體設定相關的建議檢視。
oracle根據系統執行過程中收集到的統計資訊,及一些複雜的資料模型,預
估出不同大小的緩衝區設定時緩衝區中的表現。預估的效果可能與實際情況
有所偏差。
v$db_cache_advice是關於資料緩衝區設定的建議檢視,預估的緩衝區的值的
範圍從當前資料緩衝區值得10%~200%之間。
SQL> desc v$db_cache_advice;
Name Type Nullable Default Comments
----------------------------- ------------ -------- ------- --------
ID NUMBER Y
NAME VARCHAR2(20) Y
BLOCK_SIZE NUMBER Y
ADVICE_STATUS VARCHAR2(3) Y
SIZE_FOR_ESTIMATE NUMBER Y
SIZE_FACTOR NUMBER Y
BUFFERS_FOR_ESTIMATE NUMBER Y
ESTD_PHYSICAL_READ_FACTOR NUMBER Y
ESTD_PHYSICAL_READS NUMBER Y
ESTD_PHYSICAL_READ_TIME NUMBER Y
ESTD_PCT_OF_DB_TIME_FOR_READS NUMBER Y
ESTD_CLUSTER_READS NUMBER Y
ESTD_CLUSTER_READ_TIME NUMBER Y
檢視檢視結構
列含義解釋:
ID 值的範圍為1~8,其中前6個編號對於db_nk_cache_size,7對於ddb_keep_cache_size,8對應db_recycle_cache_size。
NAME 緩衝池名稱,default,keep,recycle等,如果沒有設定keep,recycle池該檢視中不會存在相應的記錄。
BLOCK_SIZE 塊大小
ADVICE_STATUS 對應初始化引數db_cache_advice
SIZE_FOR_ESTIMATE 預估的資料緩衝區的大小,單位M
SIZE_FACTOR SIZE_FOR_ESTIMATE與當前資料緩衝區大小的比值
BUFFERS_FOR_ESTIMATE 預估的資料緩衝區大小,以塊為單位
ESTD_PHYSICAL_READ_FACTOR 當緩衝區設定為SIZE_FOR_ESTIMATE時,預估的物理讀與當前的物理讀的比值,如果當前的物理讀為0,該值為空
ESTD_PHYSICAL_READS 當緩衝區設定為SIZE_FOR_ESTIMATE時,預估的物理讀
ESTD_PHYSICAL_READ_TIME 響應時間
ESTD_PCT_OF_DB_TIME_FOR_READS 物理讀消耗的時間的百分比
ESTD_CLUSTER_READS 讀取的資料塊總數,僅RAC環境有效
ESTD_CLUSTER_READ_TIME 讀取花費的時間,僅對RAC環境有效
下面查詢default池的建議資訊:
SQL> select size_for_estimate,size_factor,estd_physical_read_factor,estd_physical_reads
2 from V$db_Cache_Advice
3 where name = 'DEFAULT';
SIZE_FOR_ESTIMATE SIZE_FACTOR ESTD_PHYSICAL_READ_FACTOR ESTD_PHYSICAL_READS
----------------- ----------- ------------------------- -------------------
16 0.1 1.9942 37301
32 0.2 1.5334 28682
48 0.3 1.3367 25003
64 0.4 1.1974 22397
80 0.5 1.1248 21040
96 0.6 1.0871 20334
112 0.7 1.0443 19533
128 0.8 1.0102 18895
144 0.9 1.0029 18759
160 1 1 18705
176 1.1 1 18705
192 1.2 1 18705
208 1.3 1 18705
224 1.4 1 18705
240 1.5 1 18705
256 1.6 1 18705
272 1.7 1 18705
288 1.8 1 18705
304 1.9 1 18705
320 2 1 18705
當前設定的預設池大小為160mb,從查詢結果來看,設定的是比較合適的。
衡量資料緩衝區設定是否合適的一個重要指標是:緩衝區命中率
SQL> select 1-sum(decode(name,'physical reads',value,0))/
2 (sum(decode(name,'db block gets',value,0))+
3 sum(decode(name,'consistent gets',value,0))) "Buffer cache hit ratio"
4 from v$sysstat;
Buffer cache hit ratio
----------------------
0.981732159175874
當該值低於95%的時候DBA需要注意是否資料緩衝區不足。資料緩衝區的命中率受很多因素影響,
並不能說緩衝區命中率低就說明資料庫的資料緩衝區不足對於OLAP資料庫(經常需要大量讀取資料)
應該根據其業務特點進行分析。可以考慮增大資料緩衝區,設定多緩衝區(keep,recycle緩衝區。)
#############################################################################################
V$shared_pool_advice
用於預估不同共享池大小時,解析時間的不同。
SQL> desc V$shared_pool_advice
Name Null? Type
----------------------------------------- -------- ----------------------------
SHARED_POOL_SIZE_FOR_ESTIMATE NUMBER
SHARED_POOL_SIZE_FACTOR NUMBER
ESTD_LC_SIZE NUMBER
ESTD_LC_MEMORY_OBJECTS NUMBER
ESTD_LC_TIME_SAVED NUMBER
ESTD_LC_TIME_SAVED_FACTOR NUMBER
ESTD_LC_LOAD_TIME NUMBER
ESTD_LC_LOAD_TIME_FACTOR NUMBER
ESTD_LC_MEMORY_OBJECT_HITS NUMBER
SHARED_POOL_SIZE_FOR_ESTIMATE:預估的共享池大小,單位M
SHARED_POOL_SIZE_FACTOR:預估的共享池大小與當前共享池大小的比值
ESTD_LC_SIZE:預估的共享池中用於庫快取的大小,單位M
ESTD_LC_MEMORY_OBJECTS:預估的共享池大小下庫快取中的物件數
ESTD_LC_TIME_SAVED:因為庫快取物件,可以節省的解析時間
ESTD_LC_TIME_SAVED_FACTOR:ESTD_LC_TIME_SAVED與當前共享池所需花費的解析時間的比值
ESTD_LC_LOAD_TIME:使用預估的共享池大小時,解析物件所花費的時間
ESTD_LC_LOAD_TIME_FACTOR:ESTD_LC_LOAD_TIME與當前共享池大小解析時間的比值
ESTD_LC_MEMORY_OBJECT_HITS:預估的共享池大小時,共享池中物件的命中次數。
SQL> select shared_pool_size_for_estimate,shared_pool_size_factor,estd_lc_size,estd_lc_time_saved_factor,
estd_lc_load_time_factor,estd_lc_memory_object_hits
from v$shared_pool_advice;
2 3
SHARED_POOL_SIZE_FOR_ESTIMATE SHARED_POOL_SIZE_FACTOR ESTD_LC_SIZE ESTD_LC_TIME_SAVED_FACTOR ESTD_LC_LOAD_TIME_FACTOR ESTD_LC_MEMORY_OBJECT_HITS
----------------------------- ----------------------- ------------ ------------------------- ------------------------ --------------------------
80 .8696 2 .9952 1.16 6342
92 1 14 1 1 29666
104 1.1304 26 1.0181 .4 30411
116 1.2609 36 1.0193 .36 30467
128 1.3913 40 1.0193 .36 30472
140 1.5217 40 1.0193 .36 30472
152 1.6522 40 1.0193 .36 30472
164 1.7826 40 1.0193 .36 30472
176 1.913 40 1.0193 .36 30472
188 2.0435 40 1.0193 .36 30472
從上面的查詢可以看出當前共享池的大小設定為92MB,如果還有空閒記憶體可以把共享池大小調整到128MB,根據建議檢視這樣比較合適,效能會有所提高。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26110315/viewspace-715752/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SGA相關的幾個動態效能檢視
- 8.1關於動態效能檢視
- Oracle檢視:常用動態效能檢視Oracle
- (重要)關於效能的幾個主要動態檢視
- RMAN相關的動態效能檢視
- db2常用動態效能檢視DB2
- Data Guard相關的動態效能檢視
- 動態效能檢視
- RMAN備份相關的動態效能檢視
- oracle常用的動態檢視Oracle
- ASM動態效能檢視ASM
- 備份相關的動態效能檢視及監控
- (轉)Oracle 動態效能檢視Oracle
- V$PGASTAT動態效能檢視AST
- 動態效能檢視基礎
- 關於鎖的幾個動態檢視的總結
- 用於效能調整的動態效能檢視——效能調整手冊和參考
- oracle最重要的9個動態效能檢視Oracle
- Oracle許可權(二)許可權相關的動態效能檢視與資料字典檢視Oracle
- Oracle效能優化視訊學習筆記-動態調整SGAOracle優化筆記
- DBA-常用到的動態檢視分析語句
- 10g 動態效能檢視[final]
- oracle最重要的9個動態效能檢視(zt)Oracle
- 11g 自動記憶體管理先關動態效能檢視三個記憶體
- 資料字典和動態效能檢視基礎
- V$PGA_TARGET_ADVICE 動態效能檢視
- v$動態效能檢視和隱含引數
- ORACLE動態效能檢視統計值溢位Oracle
- oracle wait event的一些動態效能檢視OracleAI
- Oracle日常效能檢視常用語句Oracle
- (轉)Oracle動態效能檢視學習之v$processOracle
- Oracle動態效能檢視學習之 V$ROLLSTAT -- 轉Oracle
- 動態效能檢視與資料字典的區別之一
- oracle-一些檢視效能相關的檢視Oracle
- Oracle動態效能檢視學習筆記(1)_v$sysstatOracle筆記
- Oracle動態效能檢視學習筆記(3)_v$undostatOracle筆記
- Oracle動態效能檢視學習筆記(4)_v$rollstatOracle筆記
- Oracle動態效能檢視學習筆記(6)_v$filestatOracle筆記