inmemory OOM了
有人問我有個SQL原來100ms的現在200毫秒了,為什麼?我看了一下,他這個是依託inmemory硬抗的那種SQL。裡面這個特性將資料放在記憶體中處理。這不是一個正式環境,我覺得開發能有此意識是非常不錯的。在測試環境發現了問題,避免帶病上陣。然後我檢查了後臺資料庫負荷、AWR等等,從AWR中看沒有多少inmemory的訪問。難道沒載入上來嗎?查詢了一下 select * from v$inmemory_area;
驚現OOM,我是第一次遇到。看上去應該是需要載入的資料超過了分配的記憶體。所以自然有一部分是無法使用了。
select owner,segment_name,inmemory_size,bytes,bytes_not_populated,populate_status,inmemory_priority from v$IM_SEGMENTS order by segment_name
用這個命令可以查到,一半的表失敗了。
知道問題了就好說了。要麼是加大記憶體來存放這些資料。
另外一個就是精細化調整了,選擇部分列加入到記憶體,而不用的不載入,按需。
舉例來說:
--create table t1 (id int, a varchar2(101),b varchar2(100));
Alter table t1 inmemory (id, a)
no inmemory(b);
再查詢 SELECT * FROM GV$IM_COLUMN_LEVEL 可以看到有些就沒載入進去。
其實多年經驗告訴我,資料庫就應該物理機給他一個大記憶體。用虛擬機器摳摳索索的問題總是不斷。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/637517/viewspace-2923926/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- create objects inmemory optionsObject
- OOMOOM
- Oracle 12c啟用inmemory特性Oracle
- oom killerOOM
- flush 快取對inmemory有什麼影響?快取
- OOM(Out Of Memory)OOM
- 一次inmemory丟失引起的問題分析
- OOM--OUT OF MEMORYOOM
- AIX OOM問題AIOOM
- Linux OOM 機制LinuxOOM
- tikv oom排查過程OOM
- hive job oom問題HiveOOM
- 原來OOM的罪魁禍首是C程式碼---android out of memory(OOM)OOMC程式Android
- OOM分析之問題一)OOM
- Trino Master OOM 排查記錄ASTOOM
- 使用JVisualVM分析OOMLVMOOM
- 深入理解JVM之OOMJVMOOM
- 如何防止 Elasticsearch 服務 OOM ?ElasticsearchOOM
- OOM(Out Of Memory)是什麼?OOM
- IgniteFAQ-9-DataRegion OOMOOM
- iOS開發實踐-OOM治理iOSOOM
- CentOS 配置OOM監控報警CentOSOOM
- OOM分析之問題定位(二)OOM
- OOM的起點到終點OOM
- JVM讀書筆記之OOMJVM筆記OOM
- idea啟動專案oomIdeaOOM
- 執行緒池OOM異常執行緒OOM
- OOM問題解決實踐OOM
- [jvm]常見的oom異常JVMOOM
- Linux 的 OOM 終結者LinuxOOM
- 突發:當機崩潰OOMOOM
- OOM異常型別總結OOM型別
- Kubernetes Pod OOM 排查日記OOM
- 記一次oom問題排查OOM
- jmeter.bat配置(主要關於OOM)JMeterBATOOM
- 使用Netty模擬發生OOMNettyOOM
- Spark —— Spark OOM Error問題排查定位SparkOOMError
- 一次線上OOM問題分析OOM