| 項目 | 節點 1 (rac1) | 節點 2 (rac2) |
|---|---|---|
| 公網 IP | 192.168.116.121 | 192.168.116.129 |
| 私網 IP (Interconnect) | 10.10.10.1 | 10.10.10.2 |
| VIP | 192.168.116.122 | 192.168.116.130 |
| SCAN IP | 192.168.116.200/201/202 (DNS 輪詢) | |
| 共享存儲 | /dev/sdb (OCFS2 格式化) | |
groupadd -g 54321 oinstall
groupadd -g 54322 dba
useradd -u 54321 -g oinstall -G dba -d /home/oracle oracle
passwd oracle
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.shmmax = 2147483648
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
sysctl -p
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
/etc/pam.d/login 添加 session required /lib/security/pam_limits.so。
su - oracle
mkdir ~/.ssh; chmod 700 ~/.ssh
ssh-keygen -t rsa # 三次回車
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys rac2:~/.ssh/
chmod 600 ~/.ssh/authorized_keys
# 雙向測試
ssh rac1 date
ssh rac2 date
ocfs2-tools-*.rpm
ocfs2console-*.rpm
kernel-ocfs2-$(uname -r)-*.rpm
安裝順序:tools → 內核模塊 → console。
fdisk /dev/sdb # 建兩個分區:sdb1 (CRS/Home), sdb2 (Data)
mkfs.ocfs2 /dev/sdb1 # 標準簇大小
mkfs.ocfs2 -L "ORADATA" /dev/sdb2 # 數據卷標簽
/dev/sdb1 /orac/orahome ocfs2 _netdev,nointr 0 0
/dev/sdb2 /orac/oradata ocfs2 _netdev,datavolume,nointr 0 0
雙節點同步執行:/etc/init.d/o2cb online → mount -a → mounted.ocfs2 -f 驗證。
chown root:oinstall /orac/crs
chown oracle:oinstall /orac/orahome /orac/oradata
chmod -R 775 /orac/crs /orac/orahome /orac/oradata
su - oracle
export DISPLAY=<本地IP>:0.0
cd
./runInstaller
/orac/crs/root.sh。./runInstaller,選「僅安裝數據庫軟件」→ 企業版 → 安裝路徑 /orac/orahome。dbca 圖形界面或靜默模式響應文件。oratest.sinobest.com → SID 前綴 oratest。/orac/oradata,恢復區同路徑。ORATEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL=TCP)(HOST=192.168.116.121)(PORT=1521))
(ADDRESS = (PROTOCOL=TCP)(HOST=192.168.116.129)(PORT=1521))
)
(CONNECT_DATA =
(SERVICE_NAME=oratest.sinobest.com)
)
)
SQLPLUS /NOLOG
CONN SYS/ORACLE@ORATEST AS SYSDBA
SELECT INSTANCE_NAME, HOST_NAME, STATUS FROM GV$INSTANCE;
預期輸出兩行,分別顯示 rac1/rac2 實例 READY,確認 RAC 叢集正常運行。
crsctl check cluster -all 所有資源 ONLINE。srvctl status database -d oratest 兩個實例 OPEN。srvctl status scan SCAN Listener 正常。