一聚教程网:一个值得你收藏的教程网站

热门教程

如何借助Oracle Pre-install RPM包简化环境预配置流程?

时间:2026-07-03 11:12:57 编辑:袖梨 来源:一聚教程网

Oracle Pre-install RPM 是官方预配置元包,仅自动设置基础内核参数、用户组、目录权限等重复项,不处理 SELinux、防火墙、ASM 或 Grid Infrastructure;适用于 RHEL/CentOS/Oracle Linux x86_64,不支持 Ubuntu/Debian 或 ARM;安装后需手动执行 sysctl --system 并验证关键配置。

Oracle Pre-install RPM 是什么,它真能省掉手动配置?

能省,但只省「标准 linux 发行版上 oracle database 19c/21c 的基础内核参数、用户组、目录权限」这几类重复劳动。它不是万能补丁,不处理 selinux 策略、防火墙规则、asm 配置或 oracle grid infrastructure 安装本身。

本质是 Red Hat/CentOS/Oracle Linux 官方维护的一个元包(oracle-database-preinstall-21coracle-database-preinstall-19c),封装了:/etc/sysctl.conf 修改项、/etc/security/limits.d/oracle-database.conforacle 用户与 oinstall/dba 组创建、/u01 目录所有权设定等。

  • 仅适用于 x86_64 架构的 RHEL 7/8/9、CentOS 7/8、Oracle Linux 7/8/9
  • 不支持 Ubuntu/Debian,也不兼容 ARM 平台(如 Oracle Cloud ARM 实例)
  • 安装后不会自动 reload sysctl,需手动执行 sysctl --system

怎么装?RPM 包名和仓库源容易搞错

直接 yum install oracle-database-preinstall-21c 很可能失败——因为默认仓库没启用 Oracle 的 Public Yum 或 ULN(Unbreakable Linux Network)源。

正确做法分两步:

  • Oracle Linux 用户:运行 dnf install -y oraclelinux-developer-release-el8(EL8)或对应版本启用开发者仓库,再 dnf install -y oracle-database-preinstall-21c
  • RHEL/CentOS 用户:先导入 Oracle GPG key:rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle,再配置 repo 文件(如 /etc/yum.repos.d/public-yum-ol8.repo),最后安装
  • 注意包名严格区分版本:oracle-database-preinstall-19coracle-database-preinstall-21c 不能混用;后者默认设 vm.swappiness=1,前者是 vm.swappiness=0

装完就万事大吉?这些配置仍需人工确认

RPM 会写死某些值,但生产环境往往要调整。比如它把 kernel.shmall 设为 2097152,而实际需要按物理内存计算(shmall = total RAM in bytes / page size);又如它创建 /u01 但不格式化或挂载磁盘。

  • oracle 用户密码为空,必须后续用 passwd oracle 设置,否则 runInstaller 会卡在用户验证
  • ulimit -a 显示的 max locked memory 可能仍是 unlimited,但 Oracle Installer 要求显式设为 unlimited 或数值,需检查 /etc/security/limits.d/oracle-database.conf 中是否含 oracle soft memlock unlimited
  • 若系统启用了 systemd-logind,其对 LimitMEMLOCK 的覆盖可能让 limits.d 失效,需额外在 /etc/systemd/logind.conf 中设 LimitMEMLOCK=infinity 并重启 systemd-logind

和手动配置比,性能或安全有妥协吗?

没有本质妥协,但预设值偏保守:例如 fs.aio-max-nr 设为 1048576(够大多数单实例用),但 RAC 或高并发 OLTP 可能需调到 2097152net.ipv4.tcp_fin_timeout 保持默认 60,而有些 DBA 习惯调低以更快回收连接。

真正要注意的是:该 RPM 不修改 /etc/hosts,若主机名解析异常(比如 localhost.localdomain 未指向 127.0.0.1),Oracle Installer 仍会报错 PRVF-4657 : Name resolution setup check failed——这个得自己修,RPM 不管。

另外,它从不触碰 /etc/selinux/config,但 Oracle 官方明确要求安装前设 SELINUX=permissivedisabled;跳过这步,后续静默安装大概率因 AVC denied 失败。

热门栏目