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

Oracle RAC 部署避坑指南:11 大關鍵檢查點與三階段安裝流程

     編輯:Oracle 資料庫基礎

RAC 部署為何容易失敗

Oracle RAC(Real Application Clusters)是極高複雜度的叢集軟體。網路上雖文檔眾多,但多數只講「怎麼做」,鮮少說明「出錯怎麼查」。錯誤訊息往往模糊不清,導致除錯極度困難。本文彙整工程與培訓實戰中遇到的 11 大關鍵檢查點,適用 AIX、Solaris、HP-UX、Linux 平台。

11 大 RAC 部署關鍵檢查點

  1. 節點時間必須同步
    叢集極度依賴時間一致性,時間偏移會導致心跳失效、投票磁碟錯誤。建議配置 NTP 指向同一可靠時間源,偏差 < 1 秒。
  2. 公網網卡勿使用私有 IP 段
    192.168.x.x、10.x.x.x 僅供私有 interconnect 使用。公網必須用正式可路由 IP,否則 VIP 故障轉移、SCAN Listener 將異常。
  3. 所有節點公網必須用同名網卡
    如節點 1 用 eth0、節點 2 用 eth1,Clusterware 將無法正確綁定 VIP。統一命名(如皆用 bond0 或 eth0)。
  4. 每節點需一 VIP,且與公網同子網
    VIP 用於故障轉移,客戶端連接 VIP 而非實體 IP。VIP 必須規劃在公網子網內,否則路由不通。
  5. 部分 OS 需為 VIP 指定預設閘道
    Solaris 等平台需額外為 VIP 設定 defaultrouter,否則跨網段連線失敗。
  6. 磁碟分區資訊所有節點必須可見
    共享儲存體(ASM 磁碟、OCR、Voting Disk)在所有節點的 /dev 或多路徑裝置名稱必須一致且可見。建議用 ls -l /dev/oracleasm/disks/ 或 multipath -ll 驗證。
  7. OCR 與 Voting Disk 權限與擁有者必須正確
    chown grid:asmadmin /dev/oracleasm/disks/OCR*
    chmod 660 /dev/oracleasm/disks/OCR*
    chown grid:asmadmin /dev/oracleasm/disks/VOTE*
    chmod 660 /dev/oracleasm/disks/VOTE*
    錯誤權限是安裝失敗前三名原因。
  8. 主機名命名規範:僅小寫、數字、連字號
    公網、私網、VIP 對應的主機名不可含大寫字母、底線,僅允許 a-z、0-9、-。違反將導致 Clusterware 驗證失敗。
  9. 安裝失敗必須徹底清理重來
    RAC 安裝會修改大量系統層級設定(/etc/inittab、/etc/oratab、OCR、Voting Disk、Cluster Registry)。殘留資料會干擾重裝。失敗後執行 rootcrs.pl -delete 或 crsctl delete cluster 完全清理,再重新開始。
  10. 三階段 ORACLE_HOME 必須分離
    階段 1 安裝 Grid Infrastructure (Clusterware) → $GRID_HOME
    階段 2 安裝 Oracle Database Software → $ORACLE_HOME (≠ GRID_HOME)
    階段 3 建立資料庫
    嚴禁 將 Grid 與 Database 安裝在同一目錄,也不可重複使用同一 ORACLE_HOME。
  11. 節點間 SSH 互信必須正確配置
    grid 與 oracle 使用者需在所有節點間免密碼 SSH 登入。測試:ssh node2 date 無需密碼。/etc/hosts 需包含所有節點公網、私網、VIP 對應主機名。

RAC 三階段安裝流程與易錯重點

階段 1:安裝 Grid Infrastructure (Clusterware) —— 最易出錯

  • 以上 11 點主要針對此階段
  • 執行 runInstaller 選 Install and Configure Grid Infrastructure for a Cluster
  • 關鍵步驟:網路介面分類(Public/Private/Do Not Use)、共享儲存體選擇(ASM/OCFS2/裸裝置)、OCR/Voting Disk 冗余度(Normal/High)
  • 安裝結束需以 root 執行 orainstRoot.sh、root.sh

階段 2:安裝 Oracle Database Lightweight

  • 以 oracle 用戶執行 runInstaller
  • 選 Install Database Software Only(不建立資料庫)
  • ORACLE_HOME 設在與 Grid Home 不同路徑(如 /u01/app/oracle/product/19.0.0/dbhome_1)
  • 補丁建議:安裝完立即打最新 RU (Release Update)

階段 3:建立資料庫 (DBCA)

  • 啟用 DBCA,選 Create Database
  • 範本選 General Purpose / Transaction Processing
  • 啟用 ASM 儲存、FRA、Archive Log Mode
  • 字元集建議 AL32UTF8,國家字元集 AL16UTF16

常見錯誤代碼速查

實務建議清單

  1. 安裝前跑 runcluvfy.sh stage -pre crsinst -n node1,node2 -verbose 完整預檢
  2. 備妥 OS 層級快照(VM Snapshot / mksysb / ufsdump),失敗秒級回滾
  3. 記錄每步輸出日誌,tee /tmp/grid_install.log
  4. 生產環境務必走 標準化安裝手冊 (Runbook),禁止憑記憶操作
  5. 安裝後跑 cluvfy stage -post crsinst 驗證叢集健康度

總結

RAC 部署成功的關鍵在於細節前置:時間同步、網路規劃、儲存體可見性、權限正確、命名規範、環境隔離。把這 11 點做成檢核表,安裝前逐項勾選,能避開 90% 的坑。記住:失敗就重來,不要嘗試修補殘留環境,那是無盡深淵。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
錯誤代碼常見原因排查方向
PRVF-0002節點時間不同步檢查 NTP、硬體時鐘
PRVF-5430VIP 非公網子網檢查 VIP IP/Netmask/Gateway
PRVF-5150共享磁碟不可見或權限錯檢查多路徑、ASM 磁碟權限、udev 規則
PRVF-5636主機名含非法字元修正 /etc/hosts、hostname、DNS
PRVF-5637SSH 互信失敗檢查 authorized_keys、權限 600、SELinux
INS-40910ORACLE_HOME 非空或權限錯清理目錄、chown oracle:oinstall