Oracle中資料字典快取V$ROWCACHE
Oracle中資料字典快取V$ROWCACHE
1.資料字典快取 |what is data dictionary cache
什麼是資料字典?
資料字典包含:
● 資料庫中每個schema物件(tables, indexes, sequences, and database links)的定義
● schema物件分配空間總和及當前使用量
● oracle資料庫的使用者名稱、許可權、角色賦予及審計資訊
A memory area in the shared pool that holds data dictionary information. The data dictionary cache is also known as the row cache because it holds data as rows instead of buffers, which hold entire data blocks.
資料字典快取是shared pool中儲存資料字典資訊的一個記憶體區域。資料字典快取又稱為row cache,因為它儲存資料使用行而不是快取(快取儲存整個資料塊)。
2.Shared Pool: Dictionary Cache Statistics
資料庫例項啟動,資料字典快取中不含任何資料。所有SQL語句都無法命中快取。隨著越來越多的資料讀到資料字典快取,快取未命中率在降低。
最終,資料庫達到均衡狀態,使用最頻繁的字典資料被快取到資料字典快取區域中。至此,快取未命中極少發生。
3.V$ROWCACHE
--各資料字典訪問量、未命中次數、命中率等資訊
column parameter format a21
column pct_succ_gets format 999.9
column updates format 999,999,999
SELECT parameter
, sum(gets)
, sum(getmisses)
, 100*sum(gets - getmisses) / sum(gets) pct_succ_gets
, sum(modifications) updates
FROM V$ROWCACHE
WHERE gets > 0
GROUP BY parameter;
PARAMETER SUM(GETS) SUM(GETMISSES) PCT_SUCC_GETS UPDATES
--------------------- ---------- -------------- ------------- ------------
dc_database_links 81 1 98.8 0
dc_free_extents 44876 20301 54.8 40,453
dc_global_oids 42 9 78.6 0
dc_histogram_defs 9419 651 93.1 0
dc_object_ids 29854 239 99.2 52
dc_objects 33600 590 98.2 53
dc_profiles 19001 1 100.0 0
dc_rollback_segments 47244 16 100.0 19
dc_segments 100467 19042 81.0 40,272
dc_sequence_grants 119 16 86.6 0
dc_sequences 26973 16 99.9 26,811
dc_synonyms 6617 168 97.5 0
dc_tablespace_quotas 120 7 94.2 51
dc_tablespaces 581248 10 100.0 0
dc_used_extents 51418 20249 60.6 42,811
dc_user_grants 76082 18 100.0 0
dc_usernames 216860 12 100.0 0
dc_users 376895 22 100.0 0
**注:PARAMETER列,dc_表示資料字典,dc_後面為資料字典名稱。
如,dc_sequences表示序列。
例子中,dc_free_extents、dc_used_extents、dc_segments存在大量未命中、更新,這說明資料庫例項存在顯著的動態空間擴張。
--資料字典快取區域整體命中率
SELECT (SUM(GETS - GETMISSES - FIXED)) / SUM(GETS) "ROW CACHE HIT RATIO" FROM V$ROWCACHE;
ROW CACHE HIT RATIO
-------------------
.929097687
=============================================================================================
2.資料字典快取 |what is library cache
library cache是shared pool中的一部分。其包含了SQL areas, private SQL areas及PL/SQL儲存過程及包等。
2.V$LIBRARYCACHE
V$LIBRARYCACHE記錄了例項啟動以來,library cache中各個namespace的統計資訊。
--每個namespace詳細資訊
SELECT NAMESPACE, PINS, PINHITS, RELOADS, INVALIDATIONS
FROM V$LIBRARYCACHE
ORDER BY NAMESPACE;
NAMESPACE PINS PINHITS RELOADS INVALIDATIONS
--------------- ---------- ---------- ---------- -------------
BODY 8870 8819 0 0
CLUSTER 393 380 0 0
INDEX 29 0 0 0
OBJECT 0 0 0 0
PIPE 55265 55263 0 0
SQL AREA 21536413 21520516 11204 2 TABLE/PROCEDURE 10775684 10774401 0 0
TRIGGER 1852 1844 0 0
**注:
SQL AREA:21536413表示執行了21536413次。
11204表示library cache 11204次未命中,需要oracle資料庫隱含的重新分析語句或者阻止或者重新載入物件定義,
因為涉及到的對應已將過久被清理出了library cache(這就是RELOAD)。
2表示該SQL語句invalidated兩次,再次導致了library cache未命中。(INVALIDATIONS:因為依賴物件被修改,造成某namespace中的物件被標記為無效)
--Library Cache Hit Ratio
select sum(pinhits) / sum(pins)*100 "Library Cache Hit Ratio" from V$LIBRARYCACHE;
Library Cache Hit Ratio
-----------------------
98.2777228
**注:
98.2777228表示library命中率是98%,約2%的執行結果正在重新分析中。
其他:
--SGA中free sapce
SELECT * FROM V$SGASTAT
WHERE NAME = 'free memory'
AND POOL = 'shared pool';
POOL NAME BYTES
------------ -------------------------- ----------
shared pool free memory 236520152
1.資料字典快取 |what is data dictionary cache
什麼是資料字典?
資料字典包含:
● 資料庫中每個schema物件(tables, indexes, sequences, and database links)的定義
● schema物件分配空間總和及當前使用量
● oracle資料庫的使用者名稱、許可權、角色賦予及審計資訊
A memory area in the shared pool that holds data dictionary information. The data dictionary cache is also known as the row cache because it holds data as rows instead of buffers, which hold entire data blocks.
資料字典快取是shared pool中儲存資料字典資訊的一個記憶體區域。資料字典快取又稱為row cache,因為它儲存資料使用行而不是快取(快取儲存整個資料塊)。
2.Shared Pool: Dictionary Cache Statistics
資料庫例項啟動,資料字典快取中不含任何資料。所有SQL語句都無法命中快取。隨著越來越多的資料讀到資料字典快取,快取未命中率在降低。
最終,資料庫達到均衡狀態,使用最頻繁的字典資料被快取到資料字典快取區域中。至此,快取未命中極少發生。
3.V$ROWCACHE
--各資料字典訪問量、未命中次數、命中率等資訊
column parameter format a21
column pct_succ_gets format 999.9
column updates format 999,999,999
SELECT parameter
, sum(gets)
, sum(getmisses)
, 100*sum(gets - getmisses) / sum(gets) pct_succ_gets
, sum(modifications) updates
FROM V$ROWCACHE
WHERE gets > 0
GROUP BY parameter;
PARAMETER SUM(GETS) SUM(GETMISSES) PCT_SUCC_GETS UPDATES
--------------------- ---------- -------------- ------------- ------------
dc_database_links 81 1 98.8 0
dc_free_extents 44876 20301 54.8 40,453
dc_global_oids 42 9 78.6 0
dc_histogram_defs 9419 651 93.1 0
dc_object_ids 29854 239 99.2 52
dc_objects 33600 590 98.2 53
dc_profiles 19001 1 100.0 0
dc_rollback_segments 47244 16 100.0 19
dc_segments 100467 19042 81.0 40,272
dc_sequence_grants 119 16 86.6 0
dc_sequences 26973 16 99.9 26,811
dc_synonyms 6617 168 97.5 0
dc_tablespace_quotas 120 7 94.2 51
dc_tablespaces 581248 10 100.0 0
dc_used_extents 51418 20249 60.6 42,811
dc_user_grants 76082 18 100.0 0
dc_usernames 216860 12 100.0 0
dc_users 376895 22 100.0 0
**注:PARAMETER列,dc_表示資料字典,dc_後面為資料字典名稱。
如,dc_sequences表示序列。
例子中,dc_free_extents、dc_used_extents、dc_segments存在大量未命中、更新,這說明資料庫例項存在顯著的動態空間擴張。
--資料字典快取區域整體命中率
SELECT (SUM(GETS - GETMISSES - FIXED)) / SUM(GETS) "ROW CACHE HIT RATIO" FROM V$ROWCACHE;
ROW CACHE HIT RATIO
-------------------
.929097687
=============================================================================================
2.資料字典快取 |what is library cache
library cache是shared pool中的一部分。其包含了SQL areas, private SQL areas及PL/SQL儲存過程及包等。
2.V$LIBRARYCACHE
V$LIBRARYCACHE記錄了例項啟動以來,library cache中各個namespace的統計資訊。
--每個namespace詳細資訊
SELECT NAMESPACE, PINS, PINHITS, RELOADS, INVALIDATIONS
FROM V$LIBRARYCACHE
ORDER BY NAMESPACE;
NAMESPACE PINS PINHITS RELOADS INVALIDATIONS
--------------- ---------- ---------- ---------- -------------
BODY 8870 8819 0 0
CLUSTER 393 380 0 0
INDEX 29 0 0 0
OBJECT 0 0 0 0
PIPE 55265 55263 0 0
SQL AREA 21536413 21520516 11204 2 TABLE/PROCEDURE 10775684 10774401 0 0
TRIGGER 1852 1844 0 0
**注:
SQL AREA:21536413表示執行了21536413次。
11204表示library cache 11204次未命中,需要oracle資料庫隱含的重新分析語句或者阻止或者重新載入物件定義,
因為涉及到的對應已將過久被清理出了library cache(這就是RELOAD)。
2表示該SQL語句invalidated兩次,再次導致了library cache未命中。(INVALIDATIONS:因為依賴物件被修改,造成某namespace中的物件被標記為無效)
--Library Cache Hit Ratio
select sum(pinhits) / sum(pins)*100 "Library Cache Hit Ratio" from V$LIBRARYCACHE;
Library Cache Hit Ratio
-----------------------
98.2777228
**注:
98.2777228表示library命中率是98%,約2%的執行結果正在重新分析中。
其他:
--SGA中free sapce
SELECT * FROM V$SGASTAT
WHERE NAME = 'free memory'
AND POOL = 'shared pool';
POOL NAME BYTES
------------ -------------------------- ----------
shared pool free memory 236520152
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29500582/viewspace-1328109/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Zepto中資料快取原理與實現快取
- 檢視資料字典快取(或行快取)的丟失率快取
- (轉):學習Oracle動態效能表-(19)-v$rowcacheOracle
- 解讀MySQL 8.0資料字典快取管理機制MySql快取
- 資料字典快取命中率低怎麼調整。快取
- 學習動態效能表(16)--V$ROWCACHE
- 前端讀取Excel表中資料前端Excel
- oracle 資料字典Oracle
- oracle cache快取Oracle快取
- oracle獲取資料字典定義詳細總結Oracle
- Oracle ASM 相關的 檢視(V$) 和 資料字典(X$)OracleASM
- Oracle 資料字典和資料字典檢視Oracle
- oracle清空回收站中資料Oracle
- Oracle9i中資料移置Oracle
- Oracle常用資料字典Oracle
- oracle 資料字典(轉)Oracle
- Oracle資料字典 (轉)Oracle
- 生成oracle資料字典Oracle
- Oracle 資料字典 (轉)Oracle
- Oracle的資料字典Oracle
- oracle x$bh及v$bh與table cache表快取系列(三)Oracle快取
- oracle x$bh及v$bh與table cache表快取系列(二)Oracle快取
- oracle x$bh及v$bh與table cache表快取系列(一)Oracle快取
- ECSHOP v2.5資料庫字典資料庫
- 將oracle中資料轉存到excel中OracleExcel
- oracle資料塊中資料儲存(摘錄)Oracle
- 快取淘汰、快取穿透、快取擊穿、快取雪崩、資料庫快取雙寫一致性快取穿透資料庫
- oracle常用的資料字典Oracle
- Oracle 資料字典學習Oracle
- Oracle 資料字典大全 ZTOracle
- Oracle常用資料字典表Oracle
- oracle資料字典簡介Oracle
- 瞭解Oracle資料字典Oracle
- 查詢等待事件(wait event)相關的SQL - v$session_wait, v$rowcache,v$sqltext事件AISQLSession
- oracle實驗記錄 (oracle 資料字典)Oracle
- .net資料快取快取
- oracle常用資料字典.檢視Oracle
- oracle結構梳理---資料字典Oracle