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

Oracle 10g RAC 網路配置最佳實踐:VIP、SCAN、Private Interconnect、hosts 檔案標準範本

     編輯:Oracle 資料庫基礎

節點規劃範例(雙節點)

用途Node 1Node 2說明
Public IP (Hostname)172.16.19.11 (db210-rac1)172.16.19.12 (db210-rac2)應用連線、管理 SSH
VIP (Virtual IP)172.16.19.211 (db210-rac1vip)172.16.19.212 (db210-rac2vip)故障轉移、Client 連線入口
Private Interconnect192.168.18.11 (db210-rac1priv)192.168.18.12 (db210-rac2priv)Cache Fusion、心跳、專用交換機/ VLAN
Storage Heartbeat (可選)192.168.19.11 (db210-rac1hb)192.168.19.12 (db210-rac2hb)第三心跳裝置,防腦裂

/etc/hosts 標準範本

127.0.0.1   localhost
# Node 1
172.16.19.11    db210-rac1 db210-rac1.hurray.com.cn
172.16.19.211   db210-rac1vip db210-rac1vip.hurray.com.cn
192.168.18.11   db210-rac1priv db210-rac1priv.hurray.com.cn
192.168.19.11   db210-rac1hb db210-rac1hb.hurray.com.cn
# Node 2
172.16.19.12    db210-rac2 db210-rac2.hurray.com.cn
172.16.19.212   db210-rac2vip db210-rac2vip.hurray.com.cn
192.168.18.12   db210-rac2priv db210-rac2priv.hurray.com.cn
192.168.19.12   db210-rac2hb db210-rac2hb.hurray.com.cn
# SCAN (11gR2+ 單獨 DNS/Grid Naming Service)
# 172.16.19.220  db210-scan db210-scan.hurray.com.cn

Listener.ora(Node 1 範例,Node 2 對稱)

LISTENER_DB210-RAC1 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST = (ADDRESS = (PROTOCOL=TCP)(HOST=db210-rac1vip)(PORT=1521)(IP=FIRST)))
      (ADDRESS_LIST = (ADDRESS = (PROTOCOL=TCP)(HOST=172.16.19.11)(PORT=1521)(IP=FIRST)))
      (ADDRESS_LIST = (ADDRESS = (PROTOCOL=IPC)(KEY=EXTPROC)))
    )
  )
  • **綁定 VIP** 而非 Public IP,支援故障轉移。
  • `IP=FIRST` 強制 IPv4(雙棧環境避免解析延遲)。
  • IPC 保留本地連線效能。

TNSNAMES.ORA 服務定義

EYGLE1 =  -- 直連 Node 1
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL=TCP)(HOST=db210-rac1vip)(PORT=1521))
    (CONNECT_DATA = (SERVER=DEDICATED)(SERVICE_NAME=eygle)(INSTANCE_NAME=eygle1))
  )

EYGLE2 =  -- 直連 Node 2
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL=TCP)(HOST=db210-rac2vip)(PORT=1521))
    (CONNECT_DATA = (SERVER=DEDICATED)(SERVICE_NAME=eygle)(INSTANCE_NAME=eygle2))
  )

EYGLE =   -- 負載均衡 + 故障轉移(10g 風格,11g+ 建議用 SCAN)
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL=TCP)(HOST=db210-rac1vip)(PORT=1521))
    (ADDRESS = (PROTOCOL=TCP)(HOST=db210-rac2vip)(PORT=1521))
    (LOAD_BALANCE = YES)
    (CONNECT_DATA =
      (SERVER=DEDICATED)(SERVICE_NAME=eygle)
      (FAILOVER_MODE = (TYPE=SELECT)(METHOD=BASIC)(RETRIES=180)(DELAY=5))
    )
  )

LISTENERS_EYGLE =  -- 遠端 Listener 群組(Data Guard、DG Broker 用)
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL=TCP)(HOST=db210-rac1vip)(PORT=1521))
    (ADDRESS = (PROTOCOL=TCP)(HOST=db210-rac2vip)(PORT=1521))
  )

關鍵設計原則

  1. **VIP 必須在 Public 子網、可被 Client 解析**,故障時 CRS 自動將 VIP 漂移到存活節點。
  2. **Private Interconnect 必須獨立物理網卡/交換機**,MTU 9000 (Jumbo Frame),禁用防火牆、QoS。
  3. `hosts` 檔案**全節點一致**,避免 DNS 依賴(DNS 故障不影響叢集心跳)。
  4. 11gR2+ **SCAN (Single Client Access Name)** 取代多 VIP 列表,單一 DNS 名稱解析 3 IP,Client 不變、易維護。
  5. Listener 由 **Grid Infrastructure 自動管理**,手動修改 `listener.ora` 會被覆蓋,建議用 `srvctl modify listener`。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved