1. OEL9.7与Oracle 26ai RAC环境概述
Oracle Enterprise Linux 9.7(OEL9.7)作为Oracle官方优化的操作系统,针对数据库工作负载进行了深度调优。与社区版RHEL相比,OEL9.7预装了适用于Oracle产品的特定内核参数和依赖库,特别是在存储和网络堆栈方面做了针对性优化。我们在实际部署中发现,OEL9.7默认的透明大页(THP)配置对Oracle数据库更为友好,且其UEK(Unbreakable Enterprise Kernel)内核在NUMA调度上表现优异。
Oracle 26ai是Oracle Database 26c的AI增强版本,引入了多项机器学习原生功能。与19c/21c相比,26ai的RAC架构有显著变化:
- 内存融合(Cache Fusion)机制升级为AI驱动的动态负载预测
- 集群健康监控集成实时异常检测
- 自动工作负载仓库(AWR)新增AI分析模块
在硬件准备阶段,需要特别注意:
- 共享存储必须支持SCSI-3 Persistent Reservation(典型配置为ASM或第三方集群文件系统)
- 网络建议采用至少10Gbps双网卡绑定(生产环境推荐25Gbps以上)
- 每个节点内存不低于64GB(AI功能会额外占用15-20%内存)
关键验证点:运行
lspci | grep -i infini确认HCA卡驱动正常,这是RAC节点间低延迟通信的基础
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统预配置与依赖处理
2.1 操作系统基础配置
首先禁用不必要的服务以降低资源竞争:
bash复制systemctl disable firewalld --now
systemctl mask NetworkManager
systemctl enable chronyd
内核参数调整需写入/etc/sysctl.d/99-oracle.conf:
conf复制# 共享内存限制(按物理内存的70%计算)
kernel.shmmax = 68719476736
kernel.shmall = 16777216
# 网络优化(针对RAC节点间通信)
net.core.rmem_max = 4194304
net.core.wmem_max = 4194304
net.ipv4.tcp_rmem = 4096 87380 6291456
net.ipv4.tcp_wmem = 4096 16384 4194304
用户资源限制配置在/etc/security/limits.d/oracle.conf:
conf复制oracle soft nofile 10240
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
2.2 软件依赖安装
OEL9.7的软件源需要额外配置:
bash复制dnf install -y oracle-database-preinstall-26ai
dnf config-manager --enable ol9_addons ol9_codeready_builder
关键依赖包(部分需从CodeReady Builder获取):
bash复制dnf install -y kmod-oracleasm \
oracleasm-support \
libnsl2 \
libaio-devel \
elfutils-libelf-devel
常见坑:OEL9.7默认使用python3,而Oracle安装器仍依赖python2的
binutils组件,需手动创建符号链接:bash复制ln -s /usr/bin/objcopy /usr/bin/objcopy-2.17
3. 共享存储与ASM配置
3.1 磁盘准备与ASMlib安装
对于采用ASM的方案,需先配置udev规则确保磁盘持久化命名。以/dev/sdb为例:
bash复制scsi_id=$(/usr/lib/udev/scsi_id -g -u -d /dev/sdb)
echo "KERNEL==\"sd*\", SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id -g -u -d %N\", RESULT==\"$scsi_id\", SYMLINK+=\"asm-disk1\", OWNER=\"oracle\", GROUP=\"dba\", MODE=\"0660\"" >> /etc/udev/rules.d/99-oracle-asmdevices.rules
ASMlib安装后初始化:
bash复制/etc/init.d/oracleasm configure
/etc/init.d/oracleasm createdisk DATA1 /dev/asm-disk1
3.2 ASM磁盘组规划建议
针对26ai的AI工作负载特性,建议创建三个磁盘组:
- DATA:XFS格式,分配单元1M,用于标准表空间
- AI_DATA:NOCOMPRESSION属性,用于AI模型存储
- REDO:外部冗余,专门存放重做日志
ASMCA配置示例:
sql复制CREATE DISKGROUP DATA NORMAL REDUNDANCY
DISK '/dev/oracleasm/disks/DATA1','/dev/oracleasm/disks/DATA2'
ATTRIBUTE 'au_size'='1M',
'compatible.asm'='26.0',
'compatible.rdbms'='26.0';
4. Grid Infrastructure安装
4.1 集群软件安装
解压安装包后执行预检查:
bash复制./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -verbose
响应文件关键参数(grid_install.rsp):
properties复制oracle.install.option=CRS_CONFIG
ORACLE_BASE=/u01/app/grid
ORACLE_HOME=/u01/app/26ai/grid
oracle.install.asm.OSDBA=asmdba
oracle.install.asm.OSOPER=asmoper
oracle.install.crs.config.gpnp.configureGNS=false
oracle.install.crs.config.clusterName=rac26ai
静默安装命令:
bash复制./gridSetup.sh -silent -responseFile /path/to/grid_install.rsp \
-ignorePrereqFailure
4.2 集群网络调优
26ai引入的AI流量需要独立网络平面,建议配置:
- public:客户端连接(默认网卡)
- private:Cache Fusion(专用RDMA网卡)
- ai_network:AI模型同步(可选25Gbps+网络)
验证集群状态:
bash复制crsctl check cluster -all
5. Oracle 26ai数据库软件安装
5.1 数据库二进制安装
响应文件关键配置(db_install.rsp):
properties复制oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=rac1
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/26ai/dbhome_1
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA=dba
oracle.install.db.OSOPER=oper
oracle.install.db.OSBACKUPDBA=backupdba
oracle.install.db.OSDGDBA=dgdba
oracle.install.db.OSKMDBA=kmdba
oracle.install.db.OSRACDBA=racdba
静默安装命令:
bash复制./runInstaller -silent -responseFile /path/to/db_install.rsp \
-ignorePrereqFailure
5.2 RAC数据库创建
使用DBCA的响应文件模板:
xml复制<databaseConfig>
<racConfig>
<clusterName>rac26ai</clusterName>
<nodelist>
<node name="rac1"/>
<node name="rac2"/>
</nodelist>
</racConfig>
<storageConfig>
<asmConfig>
<diskGroup name="DATA" redundancy="NORMAL"/>
<diskGroup name="AI_DATA" redundancy="HIGH"/>
</asmConfig>
</storageConfig>
<aiConfig>
<mlSettings>
<autoTuning>ENABLED</autoTuning>
<modelRepository>/u01/app/oracle/ai_models</modelRepository>
</mlSettings>
</aiConfig>
</databaseConfig>
创建命令:
bash复制dbca -silent -createDatabase \
-responseFile /path/to/dbca.rsp \
-enableRAC \
-aiConfigFile /path/to/ai_config.xml
6. 后期配置与验证
6.1 服务注册与启动
检查集群资源状态:
bash复制crsctl stat res -t
验证AI组件加载:
sql复制SELECT * FROM v$option WHERE parameter LIKE '%Machine Learning%';
6.2 性能优化建议
针对26ai的特定参数调整:
sql复制ALTER SYSTEM SET "_inmemory_automatic_level"=HIGH SCOPE=SPFILE;
ALTER SYSTEM SET "pga_aggregate_ai_limit"=4G SCOPE=SPFILE;
网络时延优化(适用于RDMA网络):
bash复制crsctl modify resource ora.net1.network -attr "DELAY=0,USR_priority=1"
我在实际部署中遇到的一个典型问题:26ai的AI组件会大量使用/dev/shm,默认的50%内存分配可能不足。建议通过mount -o remount,size=75% /dev/shm调整,并写入/etc/fstab持久化。另一个经验是,在OEL9.7上,提前安装nvidia-docker2组件可以避免后续AI扩展部署时的依赖冲突,即使当前未使用GPU加速也应预先配置。
