Oracle RAC即实时应用集群,是Oracle数据库实现高可用性的核心方案,多个节点同时访问共享存储,当单个节点故障时业务可自动切换到其他节点,保障服务不中断。安装Oracle RAC前需要完成一系列基础准备工作,这些工作的完成度直接决定后续安装流程是否顺利。

一、安装前基础环境检查
首先需要确认服务器硬件和操作系统满足Oracle RAC的最低要求,避免后续出现兼容性问题。
1.1 硬件要求
- 至少两台物理服务器或虚拟机作为集群节点,每台节点建议配置4核以上CPU、8GB以上内存、50GB以上本地磁盘
- 共享存储设备,用于存放OCR、表决磁盘和数据库文件,建议容量不低于200GB
- 至少两块物理网卡,一块用于公共网络,一块用于私有互联网络,避免网络流量互相干扰
1.2 操作系统要求
主流支持的Linux发行版包括Oracle Linux 7及以上版本、Red Hat Enterprise Linux 7及以上版本,本文以Oracle Linux 7.9为例进行说明。需要确认操作系统内核版本符合要求,执行以下命令查看内核版本:
uname -r # 输出示例:3.10.0-1160.el7.x86_64
二、系统参数与依赖包配置
Oracle RAC运行需要特定的系统内核参数和大量依赖软件包,需要提前完成配置。
2.1 内核参数调整
编辑/etc/sysctl.conf文件,添加以下内核参数配置:
# Oracle RAC内核参数配置 fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmmni = 4096 kernel.shmall = 1073741824 kernel.shmmax = 4398046511104 net.ipv4.ip_local_port_range = 9000 65500 net.ipv4.tcp_rmem = 4096 87380 4194304 net.ipv4.tcp_wmem = 4096 16384 4194304 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576
执行sysctl -p命令使配置生效。
2.2 依赖包安装
使用yum命令安装Oracle RAC所需的所有依赖包:
yum install -y binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc libstdc++ libstdc++-devel libxcb make smartmontools sysstat
三、用户与用户组创建
Oracle RAC安装需要创建专用的系统用户和用户组,用于管理Grid Infrastructure和数据库软件。
3.1 创建用户组
执行以下命令创建所需的用户组:
groupadd -g 54321 oinstall groupadd -g 54322 dba groupadd -g 54323 oper groupadd -g 54324 backupdba groupadd -g 54325 dgdba groupadd -g 54326 kmdba groupadd -g 54327 asmdba groupadd -g 54328 asmoper groupadd -g 54329 asmadmin
3.2 创建用户
创建grid用户和oracle用户,并指定对应的用户组:
# 创建grid用户,用于管理Grid Infrastructure useradd -u 54321 -g oinstall -G asmadmin,asmdba,asmoper,dba grid # 创建oracle用户,用于管理数据库软件 useradd -u 54322 -g oinstall -G dba,oper,asmdba,backupdba,dgdba,kmdba oracle # 为两个用户设置密码 passwd grid passwd oracle
四、共享存储与ASM磁盘配置
共享存储是Oracle RAC的核心组件,需要提前完成共享磁盘的识别和ASM磁盘的绑定。
4.1 共享磁盘识别
在每台节点服务器上执行以下命令,查看系统识别到的共享磁盘:
lsblk # 通常共享磁盘会显示为sdb、sdc等未分区的磁盘设备
4.2 ASM磁盘绑定
使用udev规则绑定ASM磁盘,避免磁盘设备名重启后发生变化。首先获取磁盘的SCSI ID:
/usr/lib/udev/scsi_id -g -u -d /dev/sdb # 输出示例:36000c29f5a7b8c2d1e3f4a5b6c7d8e9
编辑/etc/udev/rules.d/99-oracle-asm.rules文件,添加如下规则:
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$name", RESULT=="36000c29f5a7b8c2d1e3f4a5b6c7d8e9", SYMLINK+="asm_disk1", OWNER="grid", GROUP="asmadmin", MODE="0660"
替换RESULT后的SCSI ID为实际获取到的磁盘ID,多个共享磁盘需要添加多条规则。执行以下命令使udev规则生效:
udevadm control --reload-rules udevadm trigger
验证ASM磁盘绑定是否成功:
ls -l /dev/asm_disk* # 输出示例:lrwxrwxrwx 1 root root 3 1月 1 00:00 /dev/asm_disk1 -> sdb
五、网络配置检查
Oracle RAC需要公共网络和私有互联网络配置正确,且所有节点的网络信息保持一致。
编辑每台节点的/etc/hosts文件,添加所有节点的公共IP、私有IP和虚拟IP映射:
# 公共IP 192.168.1.101 rac-node1 192.168.1.102 rac-node2 # 私有互联IP 10.10.10.101 rac-node1-priv 10.10.10.102 rac-node2-priv # 虚拟IP 192.168.1.111 rac-node1-vip 192.168.1.112 rac-node2-vip # SCAN IP 192.168.1.200 rac-scan
执行ping命令验证所有节点之间的网络连通性,确保公共网络和私有网络都能正常通信。
Oracle_RAC数据库安装集群配置ASM磁盘修改时间:2026-07-02 16:06:38