oracle-database-preinstall-19c 不支持 Rocky Linux 9,因其仅发布至 EL8,EL9 缺失 libaio.so.1.0.1 等硬依赖,需手动创建用户、配置 limits、内核参数、libaio 软链及 compat 库方可安装。

oracle-database-preinstall-19c 不支持 Rocky Linux 9,直接安装会失败。必须绕过 RPM 预装包,手动配置用户、内核参数和依赖库。
为什么 oracle-database-preinstall-19c 在 Rocky 9 上会报错
该 RPM 包只发布到 EL8(RHEL/CentOS/Rocky 8),官方未提供 EL9 版本。强行安装会因依赖冲突或缺失符号(如 libaio.so.1.0.1)中断,常见错误包括:Failed to resolve dependencies 或 libaio: cannot open shared object file。
- RPM 安装时提示
no package available或conflicts with file from another package - 即使强制安装,
runInstaller启动后卡在“Checking operating system requirements”并报 PRVF-5184 -
libaio实际版本是libaio-0.3.113-2.el9,但 Oracle 19c 检查逻辑硬编码要求libaio.so.1.0.1—— 这个文件名在 EL9 中已不存在(被重命名为libaio.so.1)
手动创建 oracle 用户与权限
跳过预装包后,必须严格按 Oracle 要求建组、设限、配目录,否则静默安装或 dbca 会因权限不足退出。
- 执行
groupadd -g 54321 oinstall、groupadd -g 54322 dba;不要创建asm*组(单实例不需要) -
useradd -u 54321 -g oinstall -G dba oracle,然后echo "oracle" | passwd --stdin oracle - 创建目录并赋权:
mkdir -p /u01/app/oracle/product/19c/dbhome_1 /u01/app/oracle/oradata,再chown -R oracle:oinstall /u01,chmod -R 775 /u01 - 必须写入
/etc/security/limits.d/30-oracle.conf:内容含oracle soft nofile 1024、hard nofile 65536、soft nproc 16384等,缺一不可
关键内核参数与 libaio 兼容处理
Rocky 9 默认内核(5.14+)参数值普遍高于 Oracle 要求,但检查脚本仍会报错 —— 因为它只认旧式命名和固定范围,需显式覆盖。
- 编辑
/etc/sysctl.conf,确保包含:fs.file-max = 6815744、kernel.shmall = 4294967296、kernel.shmmax = 68719476736、kernel.sem = 250 32000 100 128 - 运行
sysctl -p生效后,再执行sysctl kernel.shmmax确认输出是数字而非报错 -
libaio兼容方案:安装libaio-0.3.113-2.el9.x86_64后,创建软链ln -sf /usr/lib64/libaio.so.1 /usr/lib64/libaio.so.1.0.1(Oracle 检查器只认这个路径) - 额外装
compat-libstdc++-33和compat-libcap1(从 EL8 repo 下载 rpm 手动安装,它们在 EL9 baseos 中已被移除)
静默安装时响应文件的两个致命坑
Rocky 9 上 runInstaller -silent -responseFile 极易因路径或变量错位失败,日志里看不到明确提示,只卡在“Starting Oracle Universal Installer…”。
-
ORACLE_HOME必须与解压后的实际路径完全一致(例如/u01/app/oracle/product/19c/dbhome_1),不能多斜杠或结尾带/ -
oracle.install.db.config.starterdb.password.ALL字段必须填纯 ASCII 字符,含$、@等需用反斜杠转义,否则解析失败 -
oracle.install.db.InstallEdition设为EE(企业版),若设SE2会导致后续dbca报 ORA-00942 - 务必在
oracle用户下运行安装命令,并提前 source~oracle/.bash_profile—— 否则DISPLAY或LANG缺失会触发非预期图形回退
libaio 软链和 compat-lib* rpm 是 Rocky 9 上 Oracle 19c 能跑起来的刚性前提,漏掉任意一个,安装过程都不会报具体错误,而是静默卡死在某个检查点。别信“跳过验证”的参数,Oracle 的检查逻辑嵌在二进制里,绕不过。


















