在所有节点安装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);