在所有節點安裝Oracle要求的依賴包(以Oracle 19c為例):
yum install -y binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make net-tools smartmontools unixODBC unixODBC-devel
確保依賴包版本符合Oracle官方文檔要求,避免安裝沖突。
db-node1
、db-node2
),編輯/etc/hostname
文件并生效:hostnamectl set-hostname db-node1
/etc/hosts
,添加節點名稱與IP的映射(包括公共IP、私有IP、VIP、SCAN IP):192.168.1.101 db-node1
192.168.1.102 db-node2
192.168.1.100 db-scan
10.0.0.101 db-node1-priv
10.0.0.102 db-node2-priv
確保所有節點/etc/hosts
文件一致,避免DNS解析延遲。創建Oracle集群專用用戶和組(以grid
用戶管理Grid Infrastructure,oracle
用戶管理數據庫):
groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 asmadmin
useradd -u 54321 -g oinstall -G dba,asmadmin,oper grid
useradd -u 54324 -g oinstall -G dba asmdba
passwd grid
passwd asmdba
設置用戶環境變量(以grid
用戶為例,編輯~/.bash_profile
):
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/grid
export ORACLE_SID=+ASM1
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib64:/usr/lib64
使環境變量生效:source ~/.bash_profile
。
Oracle RAC依賴共享存儲實現數據同步,常用方式為ASM(Automatic Storage Management),需提前配置共享磁盤:
fdisk -l
查看共享磁盤(如/dev/sdb
、/dev/sdc
),使用oracleasm
工具創建ASM磁盤:# 安裝oracleasm工具(若未安裝)
yum install -y oracleasm-support oracleasmlib
# 初始化ASM磁盤
oracleasm createdisk DATA1 /dev/sdb
oracleasm createdisk DATA2 /dev/sdc
oracleasm createdisk OCR1 /dev/sdd
oracleasm createdisk VOTE1 /dev/sde
# 查看ASM磁盤狀態
oracleasm listdisks
確保所有節點識別到相同的ASM磁盤。Grid Infrastructure是Oracle RAC的基礎,包含Clusterware(集群管理)和ASM(存儲管理):
unzip LINUX.X64_193000_grid_home.zip -d /u01/app/grid
grid
用戶執行安裝腳本:su - grid
cd /u01/app/grid
./runInstaller
rac-cluster
),SCAN名稱需與hosts
文件中的SCAN IP解析一致;db-node1
、db-node2
),配置SSH互信(安裝向導會自動提示);OCR1
)和投票磁盤(如VOTE1
);root.sh
腳本(在每個節點執行):su -
/u01/app/grid/root.sh
crsctl
命令檢查集群狀態:crsctl stat res -t
正常狀態應為“ONLINE”。oracle
用戶執行dbca
(Database Configuration Assistant):su - oracle
dbca
racdb
)和SID(如racdb1
);AL32UTF8
)、內存參數(根據服務器配置調整SGA/PGA);DATA
);srvctl
命令驗證數據庫狀態:srvctl status database -d racdb
正常狀態應為“RUNNING”。crsctl
命令查看集群資源狀態:crsctl stat res -t
srvctl
命令管理數據庫實例:srvctl start database -d racdb # 啟動數據庫
srvctl stop database -d racdb # 停止數據庫
srvctl status instance -d racdb -i racdb1 # 查看實例狀態
$GRID_HOME/cdata/cluster_name
),也可手動備份:ocrconfig -manualbackup
crsctl add css votedisk /dev/sdf1 -force
crsctl stop crs
sga_target
、pga_aggregate_target
);