環境規劃
| 項目 | 規格 |
| Host OS | SLES 9 SP3 (x86_64),優化過 Kernel/RAID/ReiserFS |
| VMware | GSX 3.2.0,共享磁碟置於 RAID0 (160GB) /vmegg/rac/rhel4/share |
| Guest OS | RHEL 4 U2 (x86) × 2 節點,各 1GB RAM,10GB 系統盤 |
| 儲存架構 | OCFS2 (1GB) 存 OCR/Voting;ASM (4×1GB) 存 Data + FRA |
| 網路 | eth0 Public (192.168.0.x);eth1 Private (10.1.1.x);VIP 192.168.0.111/222 |
關鍵步驟摘要
1. Guest OS 安裝與基礎配置
- VMX 編輯啟用 SCSI 共享匯流排:
scsi1.sharedBus = "virtual"、disk.locking = "false"、關閉 dataCache。
- 安裝套件:Development Tools, Legacy Libs, Kernel Devel, System Tools。
- /etc/hosts 雙節點同步配置 Public/Private/VIP。
- SSH 雙向免密碼(root + oracle)。
- 關閉無用服務,建立 dba/oinstall 群組、oracle 使用者。
- 目錄:
/u01/app/oracle (CRS/DB Home)、/u02/oradata/orcl (OCFS2 掛載點)。
- Kernel 參數、ulimits、pam_limits、hangcheck-timer 模組載入。
2. OCFS2 配置 (OCR/Voting)
# 安裝 ocfs2, ocfs2console RPM
# Node1 執行
mkfs.ocfs2 -b 4k -C 32k -L oradatafiles /dev/sdb1
# 兩節點
mount -t ocfs2 -o datavolume /dev/sdb1 /u02/oradata/orcl
# /etc/fstab
/dev/sdb1 /u02/oradata/orcl ocfs2 _netdev,datavolume 0 0
# /etc/sysconfig/o2cb -> THRESHOLD=601
3. ASMLib 配置 (Data/FRA)
# 安裝 oracleasm-support, oracleasm, oracleasmlib RPM
/etc/init.d/oracleasm configure
# 回答: oracle, dba, y, y
# Node1 建立磁碟
/etc/init.d/oracleasm createdisk VOL1 /dev/sdc1
/etc/init.d/oracleasm createdisk VOL2 /dev/sdd1
/etc/init.d/oracleasm createdisk VOL3 /dev/sde1
/etc/init.d/oracleasm createdisk VOL4 /dev/sdf1
# Node2 掃描
/etc/init.d/oracleasm scandisks
/etc/init.d/oracleasm listdisks
4. 環境變數
# .bash_profile (Node1: ORACLE_SID=orcl1, Node2: orcl2)
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORA_CRS_HOME=$ORACLE_BASE/product/crs
export PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORA_CRS_HOME/lib
5. 安裝 Clusterware (CRS)
- oracle 用戶解壓 clusterware.zip,
runInstaller。
- Home:
/u01/app/oracle/product/crs。
- 節點:node1pub/node1prv/node1vip, node2pub/node2prv/node2vip。
- Public: eth0;Private: eth1。
- OCR:
/u02/oradata/orcl/OCRFile + Mirror。
- Voting:
/u02/oradata/orcl/VotingFile + 2 Mirrors。
- 依序 root 執行
orainstRoot.sh、root.sh。
- 驗證:
olsnodes -n、ls -l /etc/init.d/init.crs*。
6. 安裝 Database 軟體
- oracle 用戶解壓 database.zip,
runInstaller。
- Home:
/u01/app/oracle/product/10.2.0/db_1。
- 選兩節點,Install Software Only。
- 兩節點 root 執行
root.sh。
7. NETCA 配置
- 建立 LISTENER (1521),Naming Methods: Local + Easy。
8. DBCA 建庫
- Custom Database,Global Name: ORCL。
- 儲存管理:ASM,密碼同系統。
- SPFILE:
+ASM/spfile.ora。
- Disk Group DATA (VOL1+VOL2, Normal Redundancy)。
- Disk Group FRA (VOL3+VOL4, External Redundancy)。
- 服務:
RACTEST, TAF Policy: BASIC。
9. 驗證
srvctl status database -d orcl
srvctl status service -d orcl -s ractest
srvctl status nodeapps -n node1pub
srvctl status asm -n node1pub
sqlplus / as sysdba
SELECT INST_ID, INSTANCE_NAME, STATUS FROM GV$INSTANCE ORDER BY INST_ID;
避坑指南
- VMX 編輯時必須關閉 VMware Console。
- 共享磁碟需
disk.locking = "false" + dataCache 全關。
- ASM 處理的是 Partition (fdisk type 83),非整顆磁碟。
- root.sh 必須逐節點序列執行,等前一個完成再跑下一個。
- VIP 配置失敗時用
vipca 修正。