oracle官方预安装包oracle-database-preinstall-19c仅发布于oracle linux官方源,centos 7.9默认无此包,执行yum install会报“no package available”错误;必须手动下载rpm本地安装或改用oracle linux系统。

直接用 yum install -y oracle-database-preinstall-19c 就能完成 90% 的预配置,但必须确认系统是 Oracle Linux 7.9(非 CentOS/RHEL)且已启用官方仓库。
为什么不能在 CentOS 7.9 上直接 yum install?
Oracle 官方 RPM oracle-database-preinstall-19c 默认只发布在 Oracle Linux 的 yum 源中。CentOS 或 RHEL 用户会遇到 No package oracle-database-preinstall-19c available 错误。
解决办法只有两种:
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
- 手动下载 RPM 并本地安装:
curl -o oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm,再执行yum localinstall -y oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm - 或切换为 Oracle Linux —— 这是唯一被 Oracle 官方完整认证和支持的发行版,
yum install开箱即用,无需额外配置源
预安装包实际做了哪些事?
它不是“一键装库”,而是自动完成以下关键动作:
- 创建
oinstall、dba、oper组和oracle用户(UID/GID 固定为 54321/54321) - 写入 /etc/sysctl.d/99-oracle-database-preinstall-19c-sysctl.conf,并调用
sysctl -p生效(含kernel.shmmax、fs.aio-max-nr等) - 生成 /etc/security/limits.d/oracle-database-preinstall-19c.conf(含
nproc、nofile、memlock限制) - 设置
/dev/shm权限为 1777,并确保挂载选项含size=4G(若已挂载则需mount -o remount,size=4G /dev/shm) - 禁用 Transparent Huge Pages(THP),通过修改
/sys/kernel/mm/transparent_hugepage/enabled和/sys/kernel/mm/transparent_hugepage/defrag
安装后必须验证的三件事
预安装包不会检查 swap 大小、SELinux 状态或防火墙,这些仍需人工确认:
- 运行
free -g | grep Swap,确保Swap行显示 ≥16G;否则swapon失败会导致runInstaller中途退出 - 检查
getenforce输出是否为Disabled;若为Enforcing,仅改/etc/selinux/config不够,必须执行setenforce 0并重启 - 确认
systemctl is-active firewalld返回inactive;否则监听器可能无法从外部访问(即使数据库启动成功)
最容易被忽略的是 /dev/shm 挂载大小和 THP 状态——这两项不满足时,runInstaller 可能卡在“Checking Network Configuration Requirements”阶段,且无明确错误提示。










