Oracle11gR2 Smart Flash Cache測試說明
1. Flash Cache 功能介紹
在oracle11gR2中,Oracle提供了設定FLASH CACHE的功能,該特性允許使用SSD硬碟作為Buffer Cache的二級快取,以在磁碟和記憶體之間增加一級緩衝,提升資料訪問效能。這個功能其實是EXADATA引入,這也是EXADATA提高IO效能的又一利器。不過即使不是EXADATA,在11.2中也可以設定該功能,前提要求作業系統必須是oracle enterprise linux(簡稱OEL)或者solaris,也就是說只支援Oracle公司自己的作業系統。
Flash Cache 的功能只會提高磁碟讀的效能,因為Dirty blocks還是會直接寫到磁碟而不會在SSD中,透過下面的圖可以很好的理解它的工作原理
1. 首先當有讀的請求發生時,磁碟資料會被讀到buffer
2. 有寫的工作完成時,會將Dirty blocks直接寫入磁碟
3. 將SGA中透過LRU移出的資料寫到flash cache中,下次有讀的請求時會透過flash cache寫入記憶體
2. Oracle 版本及補丁
oracle 的smart flash cache功能 在OEL平臺上對DB軟體打了快閃記憶體補丁後可以使用(solaris上不需要打),具體說明如下:
OS |
Oracle |
補丁 |
是否正常 |
備註 |
OEL6.4 |
11.2.0.1 |
p8974084 |
是 |
|
11.2.0.3 |
p12949806 |
是 |
|
|
11.2.0.4 |
無 |
是 |
|
|
OEL7 |
11.2.0.1 |
p8974084 |
ORA-00439: feature not enabled: Server Flash Cache |
內部bug,暫無補丁 |
11.2.0.3 |
p12949806 |
ORA-00439: feature not enabled: Server Flash Cache |
內部bug,暫無補丁 |
|
11.2.0.4 |
無 |
ORA-00439: feature not enabled: Server Flash Cache |
內部bug,暫無補丁 |
3. 修改 Flash Cache 引數
開啟Flash Cache功能需要修改兩個引數(db_flash_cache_file和db_flash_cache_size),而且需要重啟生效;支援的方式分為三種,包括檔案系統、裸裝置、ASM。
SQL> show parameter flash_cache
NAME TYPE VALUE
------------------- ----------- --------------------
db_flash_cache_file string
db_flash_cache_size big integer 0
db_flash_cache_file的大小一般推薦2-10倍的buffer cache(不能小於2倍),如果使用ASMM, 2-10倍的SGA_TARGET,這樣才能達到效果;若將db_flash_cache_size設為0 可以disable flash cache,再設回來可以enable. 但不允許動態修改db_flash_cache_size的值;對於RAC的環境, 需要在每個instance上面都設定以上兩個引數,並且不能使用同一個file。
修改方法
1. 檔案系統
SQL> alter system set db_flash_cache_file='/testfs/cache.dbf' scope=spfile;
SQL> alter system set db_flash_cache_size=8192M scope=spfile;
2. 裸裝置
SQL> alter system set db_flash_cache_file='/dev/raw/raw1' scope=spfile;
SQL> alter system set db_flash_cache_size=8192M scope=spfile;
3.ASM
SQL> alter system set db_flash_cache_file='+ASM/DB/cache.dbf ' scope=spfile;
SQL> alter system set db_flash_cache_size=8192M scope=spfile;
4. 檢視 flash cache 使用情況
透過以下SQL判斷flash cache是否在用
SELECT SUM (CASE WHEN b.status LIKE 'flash%' THEN 1 END) flash_blocks, SUM (CASE WHEN b.status LIKE 'flash%' THEN 0 else 1 END) cache_blocks,count(*) total_blocks FROM v$bh b;
select name,value from v$sysstat where name in ('physical read flash cache hits','physical reads','consistent gets','db block gets','flash cache insert');
5. 結論
Oracle smart flash cache 功能雖然能很大的提高效率,但目前flash cache功能的成熟度不夠理想,目前在配置時遇到很多bug(本文只列出一部分),後期使用是否還有bug還是未知,但是SSD硬碟確實對磁碟的I/O有很大效能的提高。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26964624/viewspace-2564393/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- HaaS100 Flash分割槽劃分說明
- cursor: pin S簡單說明以及測試、解決
- 針對 “測試用例最佳實踐” 的說明
- TestLink測試用例管理工具使用說明
- TPCH模型規範、測試說明及22條語句模型
- Swift中使用CADisplayLink測試APP的FPS(附邏輯說明)SwiftAPP
- 介面壓測實踐-壓力測試常見引數解釋說明
- 簡單的效能測試說明為什麼Go比Java快?GoJava
- 騰訊出品小程式自動化測試框架【Minium】系列(二)專案配置及測試套件使用說明框架套件
- SMART Utility for mac (硬碟檢測)Mac硬碟
- 說明
- 看這裡!移動應用測試必備六種型別說明型別
- [20220304]測試library cache mutex遇到的疑問.txtMutex
- 從測試說起(二)
- 細說白盒測試
- 硬碟檢測工具:SMART Utility for mac硬碟Mac
- 瀏覽器快取詳解:expires,cache-control,last-modified,etag詳細說明瀏覽器快取AST
- 單元測試:開篇明義
- 使用說明
- Hack 說明
- 說說在 Python 中如何測試函式Python函式
- 專利說明書及其說明書附圖
- ORACLE11GR2 RAC檔案系統變更成ASM EXTEND RAC及高可用測試OracleASM
- SMART goals - SMART objectivesGoObject
- Nginx下關於快取控制欄位cache-control的配置說明 - 運維小結Nginx快取運維
- 白話分散式儲存測試(一)明確測試目標分散式
- openssh版本更新與說明 openssl版本更新與說明
- 人眼疲勞檢測之opencv人眼檢測xml說明OpenCVXML
- 2019年PMP考試時間安排及考試內容說明
- SDWebImage中文說明Web
- git 操作說明Git
- objc物件說明OBJ物件
- MOBIM介面說明
- Oracle Latch 說明Oracle
- SpringBoot整合說明Spring Boot
- FreeSql 使用說明SQL
- postman 使用說明Postman
- QLExpress使用說明Express