首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

Oracle RAC 心跳 IP 地址快速查看方法與常見誤區解析

     編輯:DB2 教學

Oracle RAC 心跳 IP 地址快速查看方法與常見誤區解析

在 Oracle RAC 環境中,確認叢集心跳網路 (Private Interconnect) 使用的正確 IP 地址至關重要。本文介紹從 CSSD 日誌快速提取心跳 IP 的方法,並解析為何可能看到不同 IP 的根本原因。

從 CSSD 日誌提取心跳 IP

檢視 $GRID_HOME/log//cssd/ocssd.log,搜尋 clssnmReadNodeInfo 或 clssnmconnect 關鍵字:

2012-07-27 16:28:07.224: [CSSD][3316] clssnmReadNodeInfo: NM endp for node 2 (racnode2) - gipc://racnode2:my-cluster#192.168.0.2#49921 ---> 兩個 # 之間即為心跳 IP
2012-07-27 16:28:09.626: [CSSD][2856] clssnmconnect: connecting to addr gipc://racnode1:my-cluster#10.182.209.98#49527 ---> 此處亦為心跳 IP

格式解析:gipc://<節點名>:<叢集名>#<心跳IP>#<端口>,雙 # 之間即為該節點用於叢集心跳的私有 IP。

為何會出現兩個不同的 IP?

上述日誌顯示節點 2 的心跳 IP 為 192.168.0.2,而節點 1 連線節點 2 時看到的是 10.182.209.98。這通常發生在 Oracle GI 11.2.0.1 / 11.2.0.2 版本,原因如下:

根本原因

  • 節點 1 啟動時,因硬體/OS 問題無法偵測到私有網路介面,退而使用公網 IP (10.182.209.98) 作為心跳介面。
  • 節點 2 稍後啟動,正確偵測到私有介面 (192.168.0.2) 並註冊至叢集。
  • 節點 1 嘗試用公網 IP 與節點 2 的私有 IP 通訊,導致心跳失敗、叢集不穩定。

解決方案

  1. 聯繫 OS 管理員,排查私有網路介面 (如 bonding、VLAN、交換機埠) 為何在節點 1 啟動時不可用。
  2. 修復網路問題後,重啟 GI 叢集 (或單節點 crsctl stop/start crs),使節點 1 重新偵測並使用私有介面。

驗證心跳介面正確性的指令

# 查看目前叢集使用的介面
oifcfg getif

# 查看節點間連線狀態
crsctl stat res -t | grep -i net
# 或
$GRID_HOME/bin/cluvfy comp nodereach -n all -verbose

最佳實踐建議

  • 安裝 GI 前務必使用 cluvfy stage -pre crsinst 驗證私有網路連通性。
  • 私有介面建議使用專用實體交換機、獨立 VLAN、啟用 Jumbo Frame (MTU 9000)。
  • 配置 HAIP (Highly Available IP) 實現多介面負載均衡與故障轉移 (11.2.0.2+)。
  • 升級至 11.2.0.3+ 或 12c/19c,修復早期版本心跳介面自動選擇的已知缺陷。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved