静默安装Oracle 19c前必须确认4个前提条件:oracle用户及oinstall/dba组存在且/u01/app/oracle归属正确;SELinux已禁用;RPM依赖齐全;swap≥8GB、/tmp≥10GB、/u01≥35GB。
静默安装Oracle 19c前必须确认的4个前提条件
不满足这些,runinstaller 会直接报错退出,不是卡住就是提示缺失依赖。
-
oracle用户和oinstall/dba用户组已存在,且/u01/app/oracle目录归属为oracle:oinstall - 系统已关闭 SELinux(
setenforce 0+ 修改/etc/selinux/config中SELINUX=disabled),否则静默安装时监听器无法绑定端口 - 已安装全部 RPM 依赖:至少包括
binutils-2.23.52.0.1-55.el7、compat-libcap1-1.10-7.el7、gcc-4.8.5-44.el7、glibc-2.17-324.el7_9、libaio-0.3.109-13.el7、libgcc-4.8.5-44.el7、libstdc++-4.8.5-44.el7、libXext-1.3.3-3.el7、libXtst-1.2.3-1.el7、libX11-1.6.7-4.el7、libXau-1.0.8-2.1.el7、libXi-1.7.9-1.el7、make-3.82-24.el7、sysstat-10.1.5-19.el7 -
swap分区 ≥ 8GB(free -h确认),/tmp可用空间 ≥ 10GB,/u01(或安装路径)剩余空间 ≥ 35GB
响应文件 db_install.rsp 的关键参数怎么填
Oracle 官方提供的模板在 database/response/db_install.rsp,但默认值多数不能直接用。重点改这6项:
-
oracle.install.option=INSTALL_DB_SWONLY:仅安装软件(不建库),适合先部署再用dbca静默建库;若要一步到位,改为INSTALL_DB_AND_CONFIG,但需额外配数据库名、字符集等 -
UNIX_GROUP_NAME=oinstall:必须与实际用户组名一致,大小写敏感 -
INVENTORY_LOCATION=/u01/app/oraInventory:路径需存在且属主为oracle:oinstall,不能是/opt/oraInventory这类非标准路径 -
ORACLE_HOME=/u01/app/oracle/product/19c/dbhome_1:路径层级不能多也不能少,末尾不要斜杠;19c是版本标识,可自定义但建议保持 -
ORACLE_BASE=/u01/app/oracle:必须是上级目录,不能和ORACLE_HOME相同 -
oracle.install.db.InstallEdition=EE:按实际许可证填EE(企业版)或SE2(标准版2),填错会导致安装后无法启动实例
其他如 DECLINE_SECURITY_UPDATES=true 必须设为 true,否则静默过程会卡在安全更新确认页。
runInstaller -silent -responseFile 执行失败的常见错误和绕过方法
报错信息里带 [FATAL] 的基本都和响应文件或环境有关,不是 bug。
-
ERROR: Unable to get the current group ID for user 'oracle':说明当前 shell 不是以oracle用户启动,或该用户未正确加入oinstall组。用id oracle验证,别用sudo -u oracle启动,要用su - oracle -
ERROR: PRVF-7532 : Sufficient amount of free space not available:检查/u01和/tmp,注意df -h显示的是挂载点容量,不是 inode 或 reserved space -
ERROR: [FATAL] [INS-32037] The Oracle Base location is invalid:ORACLE_BASE路径下不能存在product子目录,也不能是ORACLE_HOME的子路径 -
ERROR: [FATAL] [INS-13013] Target environment does not meet minimum requirements:通常是内核参数没调,重点检查kernel.sem(需 ≥250 32000 100 128)、fs.file-max(≥6815744)、net.ipv4.ip_local_port_range(≥9000 65500)
执行命令示例:
su - oracle<br>cd /stage/database<br>./runInstaller -silent -ignorePrereqFailure -responseFile /stage/db_install.rsp
-ignorePrereqFailure 只用于测试环境绕过个别非致命检查(如 cvuqdisk 包缺失),生产环境务必先装好。
安装完成后必须立刻做的3件事
静默安装不会自动执行 root 脚本、配置监听、启动数据库,漏掉任何一项都会导致后续不可用。
- 以 root 用户运行两个脚本:
/u01/app/oraInventory/orainstRoot.sh和/u01/app/oracle/product/19c/dbhome_1/root.sh,顺序不能反 - 切换回
oracle用户,手动配置监听:netca -silent -responseFile /stage/netca.rsp(需提前准备好netca.rsp,指定监听端口和协议) - 如果选的是
INSTALL_DB_SWONLY,建库必须另走dbca:用dbca -silent -createDatabase -responseFile /stage/dbca.rsp,其中dbca.rsp里gdbname、sid、characterSet、totalMemory都必须显式指定,空值或注释掉的项会导致建库失败
最容易被忽略的是监听配置——很多用户以为安装完就能连 localhost:1521,其实没跑 netca 就没有监听进程,lsnrctl status 会直接报 TNS-12541: TNS:no listener。











