如何在SUSE Linux Enterprise上部署Oracle19c集群?

浅墨小哥_2393

浅墨小哥_2393

2026-09-28

151人浏览

原创

suse 15 sp3 或 12 sp5 均支持 oracle 19c rac,但必须严格匹配认证内核、安装 oracleasm、配置 /dev/shm(≥4g且mode=1777)、禁用 selinux 替代项 apparmor 干扰、确保 udev 规则生效及 ocr/voting disk 属主为 grid:asmadmin,任一缺失将导致 runcluvfy.sh 或 crsctl start crs 失败。

如何在suse linux enterprise上部署oracle19c集群?

直接说结论:SUSE Linux Enterprise Server(SLES)15 SP3 或 12 SP5 均支持 Oracle 19c RAC,但必须严格匹配内核版本、系统包、ASM磁盘权限和网络配置;不满足任一条件,runcluvfy.sh 阶段就会失败,且错误提示往往模糊——比如报 PRVF-0401: Failed to check for the existence of file "/usr/lib64/libcap.so",实际根源可能是 libcap-devel 缺失或 udev 规则未生效。

检查 SLES 内核与 Oracle 19c 的兼容性

Oracle 官方只认证特定内核版本。SLES 15 SP3 必须使用内核 5.3.18-150300.59.155-default 或更高(非任意 5.3+),SLES 12 SP5 则需 4.12.14-122.227-default 及以上。用 uname -r 查看后,务必对照 MOS 文档 ID 1304727.2 确认是否在白名单中。

  • 不要依赖 zypper update 后的最新内核——SLES 的“latest”可能未被 Oracle 认证
  • 若内核不匹配,gridSetup.sh 会卡在“Validating Node Connectivity”,不报错但无日志进展
  • SLES 15 SP3 默认启用 systemd-boot,需确认 /boot/grub2 下有 grub.cfg(Oracle 安装脚本部分逻辑仍依赖 GRUB2 路径)

配置 ASM 共享磁盘时绕过 udev 的坑

SLES 不像 RHEL 那样默认启用 udev 规则持久化,而 Oracle 19c RAC 强制要求 ASM 磁盘设备名稳定(如 /dev/asm-disk1)。直接用 scsi_id + udev 规则容易失效,推荐改用 lsscsi + asmlib 替代方案:

linux-sysadmin
linux-sysadmin

Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...

下载
  • 安装 oracleasm 包:zypper install oracleasm-kmp-default oracleasmlib(注意 kmp 包必须与当前运行内核完全一致)
  • 初始化时指定 --user grid --group asmadmin,否则 oracleasm scandisks 返回空
  • oracleasm listdisks 必须输出非空结果,且每个盘的 major:minor 与 ls -l /dev/oracleasm/disks/ 下设备节点一致
  • 若用 multipath 设备,mpathconf --enable 后必须重启 multipathd,否则 asmca 创建磁盘组时提示 “no disks available”

静默安装时响应文件的关键字段差异

SLES 上的 responseFile 和 RHEL 的关键区别在用户权限模型和 SELinux 替代机制。SLES 没有 SELinux,但启用了 apparmor,所以响应文件中不能设 oracle.install.db.config.starterdb.securityGroups=,否则 runInstaller 解析失败。

  • oracle.install.grid.setupUser 必须为 grid,且该用户需在 /etc/passwd 中 shell 为 /bin/bash(SLES 默认可能为 /bin/false)
  • oracle.install.asm.SYSASMPassword 和 oracle.install.asm.monitorPassword 必须不同,SLES 的 asmca 对密码复杂度校验更严,含数字+大小写字母+特殊字符缺一不可
  • INVENTORY_LOCATION 推荐设为 /u01/app/oraInventory,SLES 的 /opt 默认挂载选项含 noexec,会导致 oraInst.loc 读取失败
  • SCAN 名称必须能被所有节点的 /etc/hosts 解析(不能仅靠 DNS),否则 cluvfy stage -post hwos 报 PRVF-4657

验证集群状态时重点关注 OCR 和 voting disk 权限

安装完成后,crsctl check cluster -all 显示正常,不代表 OCR 已真正写入。SLES 的 udev 权限规则若未正确加载,OCR 磁盘会被识别为 root:root,导致后续 crsctl start crs 失败并反复重启。

  • 用 ls -l /dev/oracleasm/disks/OCR_VOTE 确认属主是 grid:asmadmin
  • 执行 ocrcheck -config,输出中 “Device/File Name” 必须是 ASM 磁盘别名(如 +OCR_VOTE),而非原始路径(如 /dev/sdb1)
  • 若 crsctl query css votedisk 显示 “no voting files available”,说明 ASM 实例未真正挂载 OCR_VOTE 磁盘组,需检查 srvctl status asm 和 asmcmd lsdg
  • SLES 15 SP3 的 systemd 服务依赖顺序较严格,oracleasm 服务必须在 ohasd 之前启动,否则 crsctl start crs 直接超时

最常被忽略的是:SLES 的 /dev/shm 默认挂载为 tmpfs,但 Oracle 19c RAC 要求其 size ≥ 4G 且 mode=1777。仅执行 mount -o remount,size=4G /dev/shm 不够,必须写入 /etc/fstab 并确保 systemd-tmpfiles 不覆盖它——否则重启后 CRS 启动失败,报错 ORA-27058: unable to create directory。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

oracle linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
大数据分析工具有哪四个
大数据分析工具有哪四个

大数据分析的四个工具分别是rapidminer、Hpcc、Hadoop和Pentaho bi。大数据分析用于从各种来源生成的原始数据中提取有价值的数据。这些数据帮助我们获得有意义的见解、隐藏的模式、未知的相关性、市场趋势等等,具体取决于行业。大数据分析的主要动机是提供有价值的见解,以便为未来做出更好的决策。php中文网为大家带来了大数据分析的相关教程、以及相关文章等内容,供大家免费下载使用。

2023.06.21

4236

5

Java 大数据处理基础(Hadoop 方向)
Java 大数据处理基础(Hadoop 方向)

本专题聚焦 Java 在大数据离线处理场景中的核心应用,系统讲解 Hadoop 生态的基本原理、HDFS 文件系统操作、MapReduce 编程模型、作业优化策略以及常见数据处理流程。通过实际示例(如日志分析、批处理任务),帮助学习者掌握使用 Java 构建高效大数据处理程序的完整方法。

2025.12.08

1209

12

大数据专业学习教程
大数据专业学习教程

本专题整合了大数据专业学习相关教程,阅读专题下面的文章了解更多详细内容。

2026.01.05

223

5

python处理大数据合集
python处理大数据合集

本专题整合了python处理大数据相关教程,阅读专题下面的文章了解更多详细内容。

2026.01.05

446

22

oracle清空表数据
oracle清空表数据

当表中的数据不需要时,则应该删除该数据并释放所占用的空间。本专题为大家提供oracle清空表数据的相关文章,帮助大家解决该问题。

2023.08.16

841

5

Oracle中declare的使用
Oracle中declare的使用

Oracle DECLARE语句是PL/SQL编程语言中用于声明变量、常量、游标或异常的关键字。它的主要作用是在程序中定义这些对象,以便在后续的代码中使用。DECLARE语句的语法简单明了,可以根据需要声明多个对象。通过使用这些声明的对象,可以进行各种操作,如计算、查询数据库、处理异常等 。

2023.09.15

2353

5

oracle怎么分页
oracle怎么分页

实现分页的步骤:1、使用ROWNUM进行分页查询;2、在执行查询之前进行设置分页参数;3、使用"COUNT(*)"函数来获取总行数,并使用"CEIL"函数来向上取整计算总页数;4、在外部查询中使用"WHERE"子句来筛选出特定的行号范围,以实现分页查询。想了解更多oracle怎么分页的文章,可以来阅读本专题先的文章。

2023.09.18

2370

5

Oracle查看表操作历史记录
Oracle查看表操作历史记录

查看操作历史记录的方法:1、使用Oracle内置的审计功能,可以记录数据库中发生的各种操作,包括登录、DDL语句、DML语句等;2、使用Oracle日志文件,其中包含了数据库中发生的各种操作,可以通过查看日志文件来获取操作历史记录;3、使用Oracle的Flashback功能,可以查看数据库在某个时间点的操作历史记录;4、使用第三方工具等。本专题还提供其他查看表操作的文章,大家可以免费阅读。

2023.09.19

1389

3

Oracle中RAC的用法
Oracle中RAC的用法

Oracle中RAC的用法:1、通过在多个服务器上运行数据库实例来提供高可用性;2、允许在需要时增加或减少节点数量;3、通过将工作负载分布到多个节点上来实现负载均衡;4、使用共享存储来实现多个节点之间的数据共享;5、允许多个节点同时处理数据库请求,从而实现并行处理;6、提供了透明故障切换功能;7、使用了一些技术来确保数据的一致性;8、提供了管理工具来简化RAC环境的管理和维护。本专题还提供RAC相关的其他文章,大家可以免费阅读。

2023.09.19

1973

7

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程