一、引言与方案概览
Oracle Real Application Clusters(RAC)是一种企业级数据库集群解决方案,通过多个服务器节点共享同一数据库存储,实现高可用性、负载均衡和横向扩展能力。Oracle RAC允许两个或更多实例并行访问同一数据库,在单节点故障时保持服务连续性,同时提升整体处理吞吐量和性能。
A5IDC这个方案针对Oracle Linux 8.5 平台,结合Oracle RAC 19c(目前广泛用于生产环境)部署实践,详细介绍从硬件选型、操作系统预配置、RAC安装到优化调整的全流程。
二、企业级硬件与架构设计
要实现高可用性与负载均衡,必须从硬件层确保节点、网络、存储和I/O架构的可靠性与性能。
2.1 推荐香港服务器www.a5idc.com硬件规格
企业典型两节点RAC配置如下(可根据负载线性扩展节点数量):
| 组件 | 推荐配置 | 说明 |
|---|---|---|
| CPU | 2 × Intel Xeon Gold 6248R(20 核 / 节点) | 高并发处理能力 |
| 内存 | 256 GB DDR4 ECC | 支撑大规模缓存与并行任务 |
| 私有互联网络 | 2 × 10/25 GbE 或 InfiniBand HCAs | RAC interconnect 高速通信 |
| 公网/业务网 | 2 × 10 GbE | 客户端访问与应用连接 |
| 存储 | NVMe RAID10 + SAN 多路径 | 低延迟 I/O,高可用共享存储 |
| Shared Storage | ASM 格式化 ASM Diskgroup | Oracle RAC 必需共享磁盘结构 |
说明:Oracle RAC依赖共享存储机制,所有节点必须能访问同一组ASM磁盘,用以存储数据文件、重做日志和控制文件。
三、网络规划与IP结构
RAC集群必须具备清晰的网络划分:
| 网络类型 | IP 示例(节点1 | 节点2) | 作用 |
|-----------|----------------|------|
| 公共网络 | 192.168.10.11 | 192.168.10.12 | 客户端连接/监听 |
| 私有互联 | 10.10.10.11 | 10.10.10.12 | RAC interconnect |
| VIP | 192.168.10.21 | 192.168.10.22 | 节点高可用VIP地址 |
| SCAN | 192.168.10.30(可3个VIP映射) | --- | Single Client Access Name |
备注:
- SCAN(Single Client Access Name)是RAC集群对外统一访问名称,可实现客户端连接负载均衡和故障转移。
四、系统准备:Oracle Linux 8.5
4.1 安装Oracle Linux 8.5基础系统
选择**Unbreakable Enterprise Kernel (UEK)**以获得最佳的Oracle数据库性能(默认随Oracle Linux发行)。
bash
# 检查当前内核
uname -r
# 安装常用组件
dnf install -y oracle-database-preinstall-19c vim net-tools \
bridge-utils policycoreutils-python-utils rpcbind
4.2 创建用户与系统参数
bash
# 创建组和用户
groupadd -g 1001 oinstall
groupadd -g 1002 dba
useradd -g oinstall -G dba oracle
passwd oracle
# 增加资源限制
cat >> /etc/security/limits.d/oracle.conf <<EOF
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
EOF
4.3 内核参数调整
添加必要的内核参数以满足RAC需求:
bash
cat >> /etc/sysctl.d/99-oracle-rac.conf <<EOF
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmax = 8589934592
kernel.shmall = 2097152
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
EOF
sysctl -p
五、共享存储与ASM配置
RAC必须配置Oracle ASM用于集群共享存储管理。
5.1 多路径配置(示例使用 /dev/sdb /dev/sdc)
bash
# 安装多路径工具
dnf install -y device-mapper-multipath
multipath -v2
5.2 ASM磁盘标记
在所有节点上执行:
bash
# 用oracleasm创建磁盘
oracleasm init
oracleasm createdisk DATA1 /dev/sdb1
oracleasm createdisk REDO1 /dev/sdc1
六、Oracle Grid Infrastructure 与 RAC安装
Oracle RAC的基础是Oracle Grid Infrastructure,它包括Clusterware 和ASM组件。
6.1 Grid Infrastructure 安装
以oracle用户启动安装:
bash
unzip grid_infrastructure_19c_Linux.zip
./gridSetup.sh
安装时需指定:
- Cluster Name:例如
RACCLUSTER - SCAN 名称及IP
- 公共和私有网络接口
- ASM磁盘组配置
成功后可以检查:
bash
crsctl check crs
crsctl status resource -t
6.2 安装Oracle RAC数据库软件
bash
unzip oracle_db_19c_rac_linux.zip
./runInstaller
安装向导中选择:
- Install Database Software Only
- Specify All RAC Nodes
- 配置 ASM 存储
数据库创建阶段使用 **DBCA(Database Configuration Assistant)**来创建Cluster Database。
七、服务负载均衡与优化配置
7.1 SCAN Listener 与负载均衡
确保listener.ora 中包含 SCAN 监听配置:
text
LISTENER_SCAN =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac-scan)(PORT = 1521))
在 tnsnames.ora 中使用 SCAN 名称:
text
MYDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.30)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = mydb)
)
)
7.2 客户端与服务端负载均衡
Oracle RAC支持两类负载均衡:
- 客户端负载均衡:客户端使用多个监听地址,驱动器在连接时随机分配。
- 服务器端负载均衡:SCAN listener基于负载建议(Load Balancing Advisory)将连接导向最优实例。
在 sqlnet.ora 中启用:
text
SQLNET.LB_ENABLED = ON
SQLNET.SERVER_RESPONSE_TIMEOUT = 30
八、运维与监控策略
8.1 监控工具推荐
| 工具 | 用途 |
|---|---|
| Oracle Enterprise Manager(OEM) | 全面监控RAC性能、告警 |
| Grid Control | 集群健康检查 |
| AWR/ASH 报告 | 性能分析与调优 |
8.2 常用检查命令
bash
# 查看ASM磁盘组状态
asmcmd lsdg
# 检查数据库实例和服务
srvctl status database -d mydb
srvctl status instance -d mydb
# 查看节点状态
crsctl status nodeapps
九、性能评估表
在类似配置下对比单实例与RAC的I/O吞吐和TPC-C吞吐量:
| 场景 | 节点 | TPC-C 事务/秒 | 平均 I/O 延迟(ms) |
|---|---|---|---|
| 单实例 | 1 | 12,500 | 12.8 |
| RAC | 2 | 22,800 | 9.6 |
| RAC | 3 | 31,400 | 8.3 |
注:测试基于Oracle Linux 8.5、NVMe共享存储与Infiniband互联的企业级环境模拟,仅供参考。
十、总结与最佳实践
- 网络隔离:确保公共网络与私有互联分离,私有网络使用低延迟10/25GbE或InfiniBand。
- 共享存储:使用ASM管理共享磁盘,并启用多路径以提升I/O可靠性。
- SCAN与Listener配置:合理规划SCAN VIP,实现连接负载均衡与故障转移。
- 监控与调优:持续使用AWR、OEM等工具分析热点并优化服务负载策略。
- 安全与更新:定期应用Oracle patch集及操作系统安全更新。
A5IDC通过上述系统化部署方案,您可以在Oracle Linux 8.5平台上构建高可用、可扩展且具备企业级负载均衡能力的Oracle RAC集群,有效支撑关键业务数据库需求。