linux下修改drop_cache引數觸發ORA-600 [KGHLKREM1]
昨天在主站的3個節點上執行了如下命令:
echo 3 > /proc/sys/vm/drop_cache
直接導致其中一個節點2例項宕掉,詳細的告警日誌資訊如下:
可以看出,17:06分的時候,lmon程式直接terminate例項2,mos相關文件描述如下:
ORA-600 [KGHLKREM1] On Linux Using Parameter drop_cache On hugepages Configuration [ID 1070812.1]
修改時間 20-DEC-2011 型別 PROBLEM 狀態 PUBLISHED
~~~~~~~~~~~~~~~~~~
*** 2010-02-08 15:57:38.274
***** Internal heap ERROR KGHLKREM1 addr=0x6c400020 ds=0x60000058 *****
***** Dump of memory around addr 0x6c400020:
06C3FF020 00000000 00000000 00000000 00000000 [................]
Repeat 511 times
Changes
1. On your system you are running with vm.drop_caches=1 (or 3), drop_cache have been set to a value greater than zero , or you are executing
Writing to this file causes the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free.
To free pagecache:
* echo 1 > /proc/sys/vm/drop_caches
To free dentries and inodes:
* echo 2 > /proc/sys/vm/drop_caches
To free pagecache, dentries and inodes:
* echo 3 > /proc/sys/vm/drop_caches
As this is a non-destructive operation, and dirty objects are not freeable, the user should run "sync" first in order to make sure all cached objects are freed.
2. You have setup the Hugepages
Cause
This is a Linux Kernel issue.
Using the linux kernel "drop_cache" parameter and having the hugepages a memory corruption can occurs.
Per internal Bug 9461825, executing vm.drop_caches corrupts Oracle Database SGA hugepages;
it is fixed in Linux Kernel version 2.6.18-194.0.0.0.4.EL5
Solution
1. As a workaround when hugepages are set avoid any vm.drop_cache settings.
OR
2. Upgrade to Linux Kernel version 2.6.18-194.0.0.0.4.EL5
References
BUG:9358381 - ASM INSTANCE IS CRASHING AS ORA-600[KGHLKREM1] WHEN HUGEPAGES ARE IN USE
https://bugzilla.redhat.com/show_bug.cgi?id=578977
而3個節點只有節點2使用了hugepage:
看來,linux下在使用hugepages引數的情況下,儘量不要隨便修改drop_cache引數,要麼就直接升級linux核心版本到
2.6.18-194.0.0.0.4.EL5
最後關閉所有節點2的相關叢集程式,然後在開啟,終於恢復正常了!
記錄一下~~
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25618347/viewspace-733804/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linux下修改/dev/shm引數Linuxdev
- linux引數修改Linux
- linux修改系統引數Linux
- Windows 下修改Tomcat jvm引數WindowsTomcatJVM
- Solaris下修改UDP引數的方法UDP
- 在Linux中,linux核心引數如何修改?Linux
- 【PB】如何觸發帶引數的自定義事件?事件
- 【LINUX 學習】指定與修改掛載引數Linux
- 修改linux下mysql環境變數LinuxMySql變數
- 修改linux的網路核心最佳化引數Linux
- Linux安裝Oracle修改引數(名詞解釋)LinuxOracle
- linux下top命令引數解釋Linux
- linux 下的訊號量引數Linux
- LINUX下fstab引數詳解(轉)Linux
- linux下修改history命令儲存條數Linux
- Oracle引數修改小結Oracle
- Oracle動態、靜態引數引數修改規則Oracle
- linux /proc/sys/vm下核心引數解析Linux
- linux下的記憶體共享引數Linux記憶體
- Linux下Oracle重啟和修改連線數LinuxOracle
- 使用js修改url地址引數JS
- mysql 引數修改 一例MySql
- Charles 修改請求(Request)引數
- 動態引數與靜態引數的判斷、修改
- 9i資料庫下修改session_cached_cursors引數資料庫Session
- vue-router watch 監聽路由引數改變觸發函式Vue路由函式
- 修改引數引發的ORA-00600: internal error code, arguments: [qctcte1],..Error
- Linux下修改IPLinux
- 在Linux下檢視和修改環境變數Linux變數
- 一個mount -a引發的ora-600案例分析
- [OS/Linux] Linux核心引數:net.core.somaxconn(高併發場景核心引數)Linux
- 不重啟mysql情況修改引數變數MySql變數
- Oracle RAC修改引數檔案位置Oracle
- javascript如何修改url地址的引數JavaScript
- Oracle引數修改後的生效判定Oracle
- Linux下kernel.shmall引數的設定(zt)Linux
- vue陣列物件修改觸發檢視更新Vue陣列物件
- SQL Server 觸發器的修改與刪除SQLServer觸發器