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

Oracle RAC 部署避坑指南:11 大核心檢查點與三階段實施路徑

     編輯:Oracle 資料庫基礎

RAC 部署為什麼容易失敗?

RAC(Real Application Clusters)是 Oracle 最複雜的產品之一,涉及作業系統內核參數、網絡、存儲、集群軟件、數據庫軟件多層耦合。官方文檔多講「怎麼做」,少講「錯了怎麼辦」。本文彙總工程一線 11 大高發故障點與標準化三階段實施路徑。

11 大核心檢查點(按故障概率排序)

#檢查點故障現象驗證命令/標準
1節點時間同步CSSD 心跳超時、節點驅逐、ORA-29701ntpdate -q ntp_server、chronyc tracking,偏移 < 100ms,建議配置 chrony 而非 ntpd
2公網 IP 不得使用私有網段VIP 故障轉移失敗、SCAN 解析異常公網 NIC 必須綁定路由可達的公網/企業網 IP(非 192.168.x.x/10.x.x.x/172.16-31.x.x)
3公網網卡統一性節點間 HAIP 通信不通、cluvfy 失敗所有節點公網 NIC 名稱、綁定邏輯、MTU(建議 9000)完全一致
4VIP 與公網同子網VIP 無法啟動、客戶端連接轉發失敗VIP IP/mask/gateway 與公網 NIC 同一子網,srvctl add vip 驗證
5Solaris/AIX 需為 VIP 指定默認網關跨 VLAN 通信失敗route add default 持久化至 /etc/defaultrouter 或 SMF
6共享存儲分區可見性ASM 磁組創建失敗、ORA-15032所有節點 ls -l /dev/rdsk/... 或 multipath -ll 看到相同 LUN、相同 major/minor、相同權限
7OCR/Vote 磁盤權限與屬主Clusterware 啟動失敗、CRS-4000屬主 grid:oinstall,權限 660,原始設備或 ASMFD/AFD 標記正確
8主機名規範cluvfy 校驗失敗、SCAN 解析異常僅小寫字母、數字、連字符(-),禁止下劃線、大寫、點號,/etc/hosts 全節點一致
9失敗必須完全清理重來殘留配置導致二次安裝詭異錯誤crsctl delete cluster、rootcrs.pl -deconfig -force、刪除 /etc/oracle、/opt/ORCLcluster、/var/opt/oracle、/tmp/.oracle
10ORACLE_HOME 隔離Grid Home 與 DB Home 混淆、補丁衝突Grid Home:/u01/app/19.0.0/grid;DB Home:/u01/app/oracle/product/19.0.0/dbhome_1,絕不相同
11節點間 SSH 互信遠程執行失敗、cluvfy stage -post hwos 失敗ssh user@node2 date 無密碼登錄,grid、oracle 用戶雙雙配置,~/.ssh/authorized_keys 權限 600

三階段標準實施路徑

階段一:安裝 Grid Infrastructure(Clusterware + ASM)

  1. 運行 ./runcluvfy.sh stage -pre crsinst -n node1,node2 -fixup 生成修復腳本,執行修復。
  2. 設置環境變量:export ORACLE_HOME=/u01/app/19.0.0/grid、export PATH=$ORACLE_HOME/bin:$PATH。
  3. 啟動安裝器:./gridSetup.sh(19c+)或 ./runInstaller。
    關鍵選項:
    — 配置 GNS 或手動 SCAN(3 IP + DNS 轉發)
    — 網絡界面分類:Public/Private/ASM
    — OCR/Vote 存儲:Normal/High Redundancy
    — 密碼管理:SYS/ASMSNMP 統一強密碼
  4. 以 root 運行 $ORACLE_HOME/root.sh,觀察 CRS-4123 成功啟動。
  5. 驗證:crsctl check crs、crsctl status res -t、srvctl status asm。

階段二:安裝 Oracle Database 軟件(僅軟件,不建庫)

  1. 設置新環境變量:export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1。
  2. 運行 ./runInstaller 選擇「Install database software only」。
  3. 應用最新 RU/RUR 補丁(OPatch)。

階段三:創建 RAC 數據庫

  1. 使用 dbca(圖形/靜默):
    dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbName racdb -sid racdb -responseFile NO_VALUE -characterSet AL32UTF8 -sysPassword ... -systemPassword ... -createAsContainerDatabase true -numberOfPDBs 1 -pdbName pdb1 -databaseType MULTIPURPOSE -storageType ASM -diskGroup DATA -recoveryGroupRecoveryAreaDestination FRA -totalMemory 8192 -emConfiguration NONE
  2. 驗證:srvctl status database -d racdb、srvctl status service -d racdb、PDB 狀態 OPEN。
  3. 配置客戶端 tnsnames.ora 使用 SCAN 地址:
    RACDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = scan-cluster)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = racdb)))

常用驗證命令速查

crsctl check crs                    # Clusterware 整體狀態
crsctl status res -t                # 所有資源表格狀態
olsnodes -n -p -s                   # 節點編號、VIP、狀態
srvctl status asm                   # ASM 實例狀態
srvctl status diskgroup -g DATA     # 磁組狀態
srvctl config database -d racdb     # 數據庫配置詳情
cluvfy comp clumgr -n all -verbose  # 完整集群管理組件驗證

結語

RAC 部署成功 = 作業系統層面零瑕疵(時間、網絡、存儲、權限、主機名、互信) + Grid Infrastructure 安裝零報錯 + 數據庫創建零報錯。將 11 大檢查點做成標準化 cluvfy 前置驗證清單,失敗即全量清理重來,是規避「詭異錯誤」的唯一捷徑。記住:RAC 容不得半點馬虎,細節決定成敗。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved