【文章內(nèi)容簡(jiǎn)介】
. crsctl get css misscount 2. grep misscount $CRS_HOME/log/hostname/cssd/ [CSSD]20081127 22:29: [1] TRACE: clssnmInitNMInfo: misscount set to 600 在下面兩種情況發(fā)生時(shí),css會(huì)踢出節(jié)點(diǎn)來(lái)保證數(shù)據(jù)的完整,: (1) Private Network IO time misscount,會(huì)發(fā)生split brain即裂腦現(xiàn)象,產(chǎn)生多個(gè)“子集群”(subcluster) ,這些子集群進(jìn)行投票來(lái)選擇哪個(gè)存活,踢出節(jié)點(diǎn)的原則按照下面的原則: 節(jié)點(diǎn)數(shù)目不一致的,節(jié)點(diǎn)數(shù)多的subcluster存活。節(jié)點(diǎn)數(shù)相同的,node ID小的節(jié)點(diǎn)存活?! ?2) Vote Disk IO Time disktimeout ,踢出節(jié)點(diǎn)原則如下:失去半數(shù)以上vote disk連接的節(jié)點(diǎn)將在reboottime的時(shí)間內(nèi)重啟。例如有5個(gè)vote disk,當(dāng)由于網(wǎng)絡(luò)或者存儲(chǔ)原因某個(gè)節(jié)點(diǎn)與其中=3個(gè)vote disk連接超時(shí)時(shí),該節(jié)點(diǎn)就會(huì)重啟。當(dāng)一個(gè)或者兩個(gè)vote disk損壞時(shí)則不會(huì)影響集群的運(yùn)行?! 】梢允止ば薷倪@三個(gè)參數(shù)的值,單位都是秒:(謹(jǐn)慎使用) $CRS_HOME/bin/crsctl set css misscount $CRS_HOME/bin/crsctl set css reboottime [force] $CRS_HOME/bin/crsctl set css disktimeout [force] 或者重新設(shè)置成默認(rèn)值:crsctl unset css misscount Clusterware的私有網(wǎng)絡(luò) 在Oracle 10g/11g中,Oracle的私有網(wǎng)絡(luò)(private network)包括clusterware的私有網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)實(shí)例的私有網(wǎng)絡(luò): clusterware的私有網(wǎng)絡(luò)主要包括css數(shù)據(jù)的傳送,即用一種特殊的ping命令來(lái)檢測(cè)其他機(jī)器的狀態(tài)?! ?shù)據(jù)庫(kù)實(shí)例的私有網(wǎng)絡(luò),包括RDMS和ASM的,用于cache fusion(GCS/GES)數(shù)據(jù)的傳輸?! ‘?dāng)我們只使用一個(gè)私有網(wǎng)卡的時(shí),同時(shí)傳送上面兩類的數(shù)據(jù)。如果我們?cè)诎惭b時(shí)指定了兩個(gè)私有網(wǎng)卡,首先使用如下面$CRS_HOME/bin/oifcfg getif命令來(lái)得到所有網(wǎng)絡(luò)接口列表,這些信息保存在ocr中: oifcfg getif en0 global public en3 global cluster_interconnect en5 global cluster_interconnect 情況會(huì)有所不同,clusterware的私有網(wǎng)絡(luò),目前(10g/11g)只能使用一個(gè)網(wǎng)絡(luò)接口,對(duì)應(yīng)于/etc/hosts中定義的private hostname的那個(gè)網(wǎng)卡,可以通過(guò)查看ocssd的log來(lái)確定: 當(dāng)/etc/hosts 中定義private : [ CSSD]20090116 17:34: [1029] TRACE: clssgmPeerListener: Listening on (ADDRESS=(PROTOCOL=tcp)(DEV=12) (HOST=)(PORT=45527)) 這個(gè)是與其他節(jié)點(diǎn)css進(jìn)行通信的信息: [ CSSD]20090116 17:36: [1029] TRACE: clssgmConnectToNode: node 2 clsc (ADDRESS=(PROTOCOL=tcp)(DEV=12) (HOST=)(PORT=37732)) size 64 ver 1 當(dāng)/etc/hosts 中定義private ,css使用了另外一個(gè)網(wǎng)絡(luò): [ CSSD]20090116 18:59: [1029] TRACE: clssgmPeerListener: Listening on (ADDRESS=(PROTOCOL=tcp)(DEV=12) (HOST=)(PORT=50415)) Oracle實(shí)例的私有網(wǎng)絡(luò) Oracle實(shí)例的心跳網(wǎng)絡(luò)使用方式的優(yōu)先級(jí)從高到低如下: (1) 如果使用了第三方集群的IPC,替換了對(duì)應(yīng)$ORACLE_HOME/lib/,那么數(shù)據(jù)庫(kù)實(shí)例的cache fusion會(huì)使用對(duì)應(yīng)的網(wǎng)絡(luò)協(xié)議,而忽略ocr中和數(shù)據(jù)庫(kù)初始化參數(shù)中cluster_interconnects的配置,下面的例子當(dāng)中就使用了VCSIPC,可以從對(duì)應(yīng)的alert log中驗(yàn)證: db_name = r10g open_cursors = 300 pga_aggregate_target = 1237319680 Fri Mar 13 14:00:35 2009 Oracle instance running with ODM: Veritas ODM Library, Version cluster interconnect IPC version: VERITAS IPC 15:16:24 Feb 12 2009 IPC Vendor 86 proto 76 Version PMON started with pid=2, OS id=4399196 DIAG started with pid=3, OS id=3936288 (2) 如果沒(méi)有使用第三方IPC,則優(yōu)先使用數(shù)據(jù)庫(kù)初始化參數(shù)的cluster_interconnects配置,這個(gè)參數(shù)的格式為if1:if2:...:ifn,可以不同于crs的私有網(wǎng)絡(luò),需要注意的是,該參數(shù)不支持多個(gè)網(wǎng)卡的故障切換。 (3) 沒(méi)有上面兩個(gè)配置,數(shù)據(jù)庫(kù)會(huì)使用oifcfg列出的心跳的網(wǎng)絡(luò),在對(duì)應(yīng)的告警日志中可以得到: Interface type 1 en6 configured from OCR for use as a cluster interconnect Interface type 1 en0 configured from OCR for use as a public interface . . . . Cluster munication is configured to use the following interface(s) for this instance (4) 沒(méi)有1和2的配置,并且oifcfg也沒(méi)有配置cluster_interconnect,則數(shù)據(jù)庫(kù)會(huì)使用共有網(wǎng)絡(luò)進(jìn)行心跳信息的傳輸,這種配置其實(shí)是配置失敗的情況,數(shù)據(jù)庫(kù)雖然能夠啟動(dòng)