suse 15 sp3 是 oracle 19c rac 官方支持平台,但需严格匹配内核版本(≥4.4.103-92.56-default),grid 安装失败主因是 udev 规则未绑定 wwid、cvuqdisk 缺失或 opatch 版本过低(须 ≥12.2.0.1.30);共享磁盘必须用 multipath + wwid 固化路径,禁用 /dev/sdx 临时识别,且安装后须执行 crsctl enable crs 启用开机自启。
直接说结论:suse 15 sp3 是 oracle 19c rac 官方支持的平台,但必须严格匹配内核版本(4.4.103-92.56-default 或更新),且 grid 组件安装失败绝大多数源于 udev 规则、cvuqdisk 缺失或 opatch 版本不兼容——不是“点下一步就能过”。
UDEV 规则必须绑定 wwid,不能靠 /dev/sdX 临时识别
SUSE 上共享磁盘重启后设备名极易漂移(比如 /dev/sdb 变成 /dev/sdc),ASM 会直接报 ORA-15040 或无法发现磁盘。官方要求用 multipath + wwid 固化路径。
- 先查共享盘真实 wwid:
scsi_id -g -u -d /dev/sdX(X 替换为实际盘符) - 写规则到
/etc/udev/rules.d/99-oracle-asm.rules,格式必须是:KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$name", RESULT=="3600a09803830444f4e3b4a756a775161", SYMLINK+="asm-disk1", OWNER="grid", GROUP="asmadmin", MODE="0660" - 执行
udevadm control --reload-rules && udevadm trigger后验证:ls -l /dev/asm*必须看到软链指向正确的/dev/sdX - 漏掉
OWNER或GROUP赋权,后续asmca创建磁盘组时会提示权限拒绝
cvuqdisk 必须手动安装,否则 cluvfy 校验必挂
cvuqdisk 是 Oracle 集群验证工具(runcluvfy.sh)的底层依赖,在 SUSE 上不会随 Grid 安装包自动部署,不装它,prereq 阶段直接失败,报错信息是:ERROR: CVUQDISK is not installed on the system。
- 从 Oracle 官网下载
cvuqdisk-1.0.10-1.SLE15.x86_64.rpm(注意匹配 SUSE 15 SP3,别用 CentOS 的 rpm) - 用
rpm -ivh cvuqdisk-1.0.10-1.SLE15.x86_64.rpm安装(需 root) - 安装后检查:
rpm -qa | grep cvuqdisk应返回结果;同时确认/usr/bin/cvuqdisk存在且可执行 - 如果用
zypper install搜索不到,说明源里没收录,必须手动下载 rpm
OPatch 必须升级到 12.2.0.1.30+,否则 opatchauto apply 报错
SUSE 系统默认的 OPatch 版本(如 12.2.0.1.25)无法解析 19c PSU 补丁中的新元数据结构,运行 opatchauto apply 会卡在 Parsing patch metadata 并报 java.lang.NullPointerException。
- 去 Oracle Support 下载最新
p6880880_190000_Linux-x86-64.zip(截至 2026 年 6 月最新是 12.2.0.1.30) - 替换前先备份:
mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch_bak - 解压新包到
$ORACLE_HOME/OPatch,并确保属主是grid:oinstall(chown -R grid:oinstall $ORACLE_HOME/OPatch) - 验证:
$ORACLE_HOME/OPatch/opatch version输出必须含12.2.0.1.30 - Grid 和 DB 两个
ORACLE_HOME都要分别升级,顺序是:先 grid,再 db
静默安装 grid 时,response file 的 network interface 配置极易出错
SUSE 默认用 Wicked 管理网络,而 Oracle 19c 安装器仍按传统方式读取 /etc/sysconfig/network/ifcfg-*,若网卡名是 ens192 或 enp0s3 类型,response file 里写错会导致 VIP、SCAN 启动失败,日志中反复出现 CRS-2674: Start of 'ora.scan1.vip' on 'rac1' failed。
- 先确认物理网卡名:
ip -br a | grep UP,取第一列(如ens192) - 在 response file 中,
oracle.install.crs.config.networkInterfaceList值必须写成:ens192:1,ens192:2(冒号后数字代表子网类型:1=public,2=private) - 绝对不要写成
eth0或留空;也不要写成ens192:public,ens192:private(19c 不认字符串标识) - 如果用了双网卡绑定(bond),必须在 Wicked 配置中明确设置
BONDING_MASTER=yes,再把 bond 接口名填入 response file
最关键的细节藏在最后:SUSE 的 systemd 服务管理逻辑和 RHEL/CentOS 不同,Grid 安装后必须手动运行 crsctl enable crs 才能开机自启,否则 reboot 后整个集群资源全掉线——这点文档极少强调,但实测 100% 复现。











