oracle rac 修改 miscount的方法 。

season0891發表於2010-09-13
2、網路PING在MC時間內完成,磁碟ping超過了MC,但是在DISKTIMEOUT內完成,也不會驅逐
3、網路ping在MC時間內完成,磁碟ping超過了DISKTIMEOUT,則節點被驅逐
4、網路ping超過MC設定,磁碟ping在MC內完成,節點也會被驅逐
預設情況下,MC是小於DISKTIMEOUT設定的 
MISSCOUNT驅動著CLUSTER中的成員的重新配置並且直接影響對CLUSTER的訪問。大多數情況下,預設的MC設定可以被接受,改變預設的MISSCOUNT不僅僅影響投票磁碟的I/O訪問的超時時間,同時也會影響內網互連的網路心跳的超時時間。當修改預設的MISSCOUNT值的時候應該考慮的問題:
增加MISSCOUNT的設定來解決I/O響應時間會直接導致網路失敗時的重配置時間。網路心跳是cluster中的節點間連通性的主導,MISSCOUNT是觸發cluster發生重配置前能夠容忍發生多少的“check ins”,增加MISSCOUNT設定會延長對網路失敗的診斷的時間,這將直接影響cluster的可訪問性。 
如果是因為底層磁碟的響應時間問題而修改了MISSCOUNT的值,那麼底層地盤的問題解決後,要立刻修改MISSCOUNT回到預設值。
如果是在第三方提供的CLUSTERWARE上實現的叢集,則不要修改MISSCOUNT的預設值,在這樣的環境中修改預設的MISSCOUNT將會導致更多的消耗和潛在的危險。
下面情況下不應該修改MISSCOUNT:
1、修改MISSCOUNT的值來避免因為底層的配置或者硬體的問題導致的超時
2、CLUSTER和資料庫的可訪問性直接受很高的MISSCOUNT設定的影響。 

在Oracle RAC 10g Release 2 版本中允許設定多個的投票磁碟,從而不必依靠儲存提供商的多路徑的方式來解決磁碟訪問的問題,你可以設定最多32個投票磁碟。 

可以透過如下的方式來修改MISSCOUNT的設定:
1、首先停止CRS:
可以使用指令碼來停止:
不同平臺的指令碼存放的地方如下:
* For Solaris, the scripts are in /etc/init.d/
* For HP, the scripts are in /sbin/init.d
* For AIX, the scripts are in /etc
* For Linux, the scripts are in /etc/init.d 
在上面的路徑上執行init.crs stop指令碼來停止,執行init.crs start來啟動。
在10G RELEASE2版本中可以使用crsctl stop crs停止並使用crsctl start crs來啟動。 
2、設定MISSCOUNT為N
1) 除了一個節點外,關閉其他所有節點的CRS
2) 執行$ORA_CRS_HOME/bin/crsctl set css misscount 
其中n為投票盤的響應時間+1
3) 重啟動修改了MISSCOUNT引數的節點(這個需要測試是否是必須)
4) 啟動所有其他的節點的CRS 
打了4896338補丁後的10.2.0.1版本有兩個附加的引數可以調整,這個改變直接包含在了10.2.0.2和10.1.0.6版本中
1) reboottime (預設是3秒) -它定義了節點被CSS驅逐後到開始重啟的時間間隔,也就是當你重啟機器的時候機器完全關閉需要的時間。(這個間隔難道是為了正常關閉其他服務?)
2) disktimeout (預設200秒) -對投票盤的I/O完成所允許的最大時間,如果達到了這個時間,則投票盤會被標識為OFFLINE。
Note that this is also the amount of time that will be required for initial cluster formation, i.e. when no nodes have previously been up and in a cluster. 
$CRS_HOME/bin/crsctl set css reboottime  [-force] ( is seconds)
$CRS_HOME/bin/crsctl set css disktimeout  [-force] ( is seco 
可以透過ocrdump命令來檢視MISSCOUNT的設定,OCR備份的時間、路徑、OCR的磁碟等資訊。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/90618/viewspace-673727/,如需轉載,請註明出處,否則將追究法律責任。

相關文章