Oracle 9i, 10g, and 11g RAC on Linux所需要的Hangcheck-Timer Module介紹
此文件摘自METALINK:726833.1,所適用的ORACLE版本為:Oracle Server - Enterprise Edition - Version: 9.2.0.8 to 11.1.0.7
從9.2.0.2版本開始,ORACLE RAC環境需要使用一個新的I/O fencing模組,叫做hangcheck-timer模組。這個模組用來代替Watchdog模組,提供類似的fencing功能。Hangcheck-timer模組是標準的linux2.4以上的核心中的一個子功能被髮布。
Hangcheck-timer應該在系統啟動的時候被載入, 並對於能夠影響RAC節點穩定性的長時間的系統操作HANG進行核心監控。它執行在核心級別並使用Time Stamp Counter(TSC)來捕捉排程的延遲和節點HANG。這是透過設定一個timer,然後檢查這個timer的fires情況來判斷是否延遲是否超過了誤差的幅度。如果這個週期超過了允許的時間(也就是hangcheck_tick+hangcheck_margin秒),機器將會被重啟,如果是CPU資源不足的時候,Hangcheck-timer將不會導致重啟。
[@more@]Hangcheck-timer有三個配置引數:
hangcheck_tick:定義了hangcheck-timer檢查節點是否hang的頻率,單位是秒,預設是60秒
hangcheck_margin:定義期望的和真正的scheduling之間允許的誤差,單位是秒,預設值是180秒
hangcheck_reboot:定義瞭如果核心在hangcheck-tick和hangcheck-margin相加的時間內響應失敗的話,hangcheck-timer是否重啟節點。如果hangcheck_reboot的值大於等於1,hangcheck-timer模組將會重啟系統;如果設定為0,則即使系統hang的時候hangcheck-timer也不會重啟系統。在linux 2.4的核心中,這個預設值是1;在2.6的核心中,預設值是0。
所有的hangcheck-timer的引數的預設值必須在載入核心模組的時候被顯式的覆蓋,不同的oracle版本可以按照下面來設定:
9i: 假如"oracm misscount"的預設設定是220秒,則hangcheck_tick=30 hangcheck_margin=180 hangcheck_reboot=1
10g/11g: 假如"CSS misscount"的設定是30或者60秒,則hangcheck_tick=1 hangcheck_margin=10 hangcheck_reboot=1
注意:你必須設定叢集的misscount值大於hangcheck_tick + hangcheck_margin之和
可以使用下面方法來檢查hangcheck是否在執行:
# /sbin/lsmod | grep hangcheck
hangcheck-timer 2672 0
在oracle linux、紅帽linux4/5或者SUSE linux9/10中,hangcheck-timer模組使用modprobe命令來進行載入:
# modprobe hangcheck-timer hangcheck_tick=1 hangcheck_margin=10 hangcheck_reboot=1
為了使得在啟動的時候就自動載入,可以把上面的命令新增到/etc/rc.d/rc.local或者/etc/init.d/boot.local中,這個根據不同的發行版來決定。
當檢測到失敗的時候,hangcheck-timer會在系統日誌中記錄失敗資訊:
重啟時會記錄"Hangcheck: hangcheck is restarting the machine"資訊到/var/log/messages
如果你看到/var/log/messages中有"Hangcheck: hangcheck value past margin!"訊息,表示系統需要重啟但是沒有重啟,因為hangcheck-reboot引數沒有設定為1。
Known Issues
* Bug:6125546 which can prevent hangcheck-timer from rebooting in RHEL4 (fixed in 2.6.9.56 or RHEL4.6)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25016/viewspace-1008029/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux: Hangcheck-Timer Module Requirements for Oracle 9i,10g,11gR1 RAC_726833.1LinuxGCUIREMOracle
- Oracle 9i,10g,11gR1基於Linux的RAC都需要Hangcheck-Timer模組OracleLinuxGC
- Oracle 10g RAC TAF介紹Oracle 10g
- oracle 9i 10G 11G 的RAC 穩定性比較Oracle
- [轉載]Oracle 10g RAC TAF介紹Oracle 10g
- Oracle RAC 概念介紹Oracle
- ORACLE 11G RAC--維護叢集的OCR命令介紹Oracle
- Oracle 補丁全集 (Oracle 9i 10g 11g Path)Oracle
- Oracle 10g Scheduler 全面介紹Oracle 10g
- oracle 10g AWR介紹(ZT)Oracle 10g
- Oracle RAC後臺程式介紹Oracle
- oracle RAC 底層程式介紹Oracle
- Http Module 的詳細介紹HTTP
- Oracle 10g rac升級需要注意的事項Oracle 10g
- oracle 10g rac install for linuxOracle 10gLinux
- ORACLE 10G RAC for Linux AS4Oracle 10gLinux
- Linux 下Oracle 10G RAC 管理LinuxOracle 10g
- oracle 9i 和oracle 10g 和oracle 11g有什麼區別Oracle 10g
- 【RAC】Oracle RAC上線測試場景介紹Oracle
- Oracle 資料庫歸檔配置-9i,10g,11gOracle資料庫
- Oracle 9i、10g、11g補丁集下載大全Oracle
- 安裝Oracle 10g RAC是否需要安裝HACMPOracle 10gACM
- 安裝Oracle 10g RAC是否需要安裝HACMP?Oracle 10gACM
- oracle 11g rac install for linuxOracleLinux
- Redhat Linux AS 5 + Oracle 11g RACRedhatLinuxOracle
- DataGuard on Oracle 11g初步介紹(1)Oracle
- DataGuard on Oracle 11g初步介紹(2)Oracle
- DataGuard on Oracle 11g初步介紹(3)Oracle
- Configure the hangcheck-timer Kernel ModuleGC
- Linux & Oracle 10g RAC --- .bash_profileLinuxOracle 10g
- Oracle 10g RAC for linux 的完全解除安裝Oracle 10gLinux
- Oracle 10g 政則表示式介紹Oracle 10g
- Oracle RAC DRM介紹和關閉DRMOracle
- Oracle 隱藏引數(9i,10g,11g,12c)Oracle
- Oracle 9i,10g,11g 下的 UTL_FILE_DIR 及 DIRECTORY - 1Oracle
- Oracle 9i,10g,11g 下的 UTL_FILE_DIR 及 DIRECTORY - 2Oracle
- oracle 9i與10g,11g不同的子查詢括號用法Oracle
- Oracle 9i/10g的官方教材Oracle