讲师中心 微信公众号
AI工具推荐 视频效率加速

如何在CentOS7上静默安装Oracle19c

轻芳姑娘_8650

轻芳姑娘_8650

发布时间:2026-09-25 09:31:29

|

717人浏览过

|

来源于php中文网

原创

静默安装Oracle 19c在CentOS 7上失败主因是环境、权限、响应参数三者未严丝合缝:oracle用户主组须为oinstall,响应文件中UNIX_GROUP_NAME等6项关键参数大小写敏感且路径必须真实存在可写,swap≥8GB、/u01≥35GB、依赖包需oracle-database-preinstall-19c兜底,否则runInstaller卡初始化或[FATAL]退出。

如何在centos7上静默安装oracle19c

静默安装 Oracle 19c 在 CentOS 7 上不是“填完响应文件就能跑”,而是环境、权限、参数三者必须严丝合缝;任意一环错位,runInstaller -silent -responsefile 就会卡在初始化阶段或直接报 [FATAL] 退出——根本没进入安装逻辑。

oracle 用户主组和组成员关系必须一步到位

Oracle 安装器启动时会严格校验当前用户是否属于 oinstall 组,且其主组(primary group)必须是该组。常见错误现象包括:

  • ERROR: Unable to get the current group ID for user 'oracle':说明未用 su - oracle 切换(少了 - 导致环境未加载),或用户主组压根不是 oinstall
  • 即使 id oracle 显示已加入 oinstall 和 dba,但主组是 users 或其他组,仍会失败

正确做法:

  • 创建用户时显式指定主组:useradd -u 54321 -g oinstall -G dba,oper,backupdba oracle
  • 设置密码后,必须用 su - oracle 切换(不是 su oracle),确保加载完整 shell 环境
  • 验证:id oracle 输出中第一组(即括号外的组名)必须是 oinstall
  • /u01/app/oracle 和 /u01/app/oraInventory 目录属主必须为 oracle:oinstall,且无 SELinux 上下文残留(ls -Z 检查)

db_install.rsp 关键参数不能照搬模板

官方提供的 database/response/db_install.rsp 是通用模板,6 项不改必挂。常见错误是直接复制粘贴后跳过校验。

必须修改的参数:

  • oracle.install.option=INSTALL_DB_SWONLY:推荐仅装软件;若填 INSTALL_DB_AND_CONFIG,需额外补全数据库名、字符集、监听端口等 10+ 参数,极易漏配
  • UNIX_GROUP_NAME=oinstall:大小写敏感,填 OINSTALL 或 oinstall1 都会失败
  • INVENTORY_LOCATION=/u01/app/oraInventory:路径必须存在、可写,且不能与 ORACLE_HOME 同级或嵌套
  • ORACLE_HOME=/u01/app/oracle/product/19c/dbhome_1:末尾不可加斜杠;层级不能多一层(如 /dbhome_1/)
  • ORACLE_BASE=/u01/app/oracle:必须是 ORACLE_HOME 的直接父级或上两级,不能等于 ORACLE_HOME
  • oracle.install.db.InstallEdition=EE:按实际许可证填 EE 或 SE2;填错会导致安装后 sqlplus / as sysdba 连不上实例

必须设为 true 的安全项:

Market Oracle
Market Oracle

金融事件影响分析器 — 获取突发新闻,追踪金属/石油/加密货币/股票价格,预测短中长期市场连锁反应

下载
  • DECLINE_SECURITY_UPDATES=true:不设则静默过程卡死在交互式确认页

依赖和磁盘空间检查不能跳过

静默安装失败最常见的底层原因是资源硬约束未达标,而非配置错误。

必须满足的硬性条件:

  • swap 分区 ≥ 8GB(free -h 查看);若不足,需手动创建并挂载,否则 runInstaller 直接退出
  • /u01 分区可用空间 ≥ 35GB(df -h /u01 查看);Oracle 19c 解压后实际占用约 28–32GB,预留缓冲必不可少
  • 依赖包必须由 oracle-database-preinstall-19c RPM 兜底安装,或手动补全全部 30+ 个包(如 libaio-devel、unixODBC-devel、ksh 等);缺一个,runInstaller 就会在预检阶段报错退出
  • 内核参数必须生效:sysctl -p 后,用 sysctl fs.aio-max-nr 等逐项验证,不能只改配置不加载

运行静默安装前必须验证当前上下文

很多人在 root 下解压、配置完就切到 oracle 用户直接执行,结果失败。关键点在于:所有操作必须在正确的用户、目录、环境变量下完成。

执行前务必确认:

  • 当前是 oracle 用户,且通过 su - oracle 进入(echo $HOME 应为 /home/oracle)
  • 当前工作目录是解压后的安装目录(如 /u01/app/oracle/product/19c/dbhome_1),不是 /tmp 或家目录
  • $ORACLE_BASE、$ORACLE_HOME 环境变量未被误设(尤其不要在 .bash_profile 中提前 export,静默安装期间应保持干净)
  • 响应文件路径是绝对路径,且 oracle 用户有读权限:chmod 644 /path/to/db_install.rsp
  • 执行命令格式严格为:./runInstaller -silent -responseFile /path/to/db_install.rsp -ignorePrereqFailure(-ignorePrereqFailure 仅用于调试,生产环境禁用)

最易被忽略的是:响应文件里所有路径都必须真实存在且权限正确,而不仅仅是“看着对”。哪怕 /u01/app/oraInventory 目录属主错了,runInstaller 就会静默失败,日志里只有一行 [FATAL],没有具体原因。

热门AI工具

更多
Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

相关专题

更多
数据分析工具有哪些
数据分析工具有哪些

数据分析工具有Excel、SQL、Python、R、Tableau、Power BI、SAS、SPSS和MATLAB等。详细介绍:1、Excel,具有强大的计算和数据处理功能;2、SQL,可以进行数据查询、过滤、排序、聚合等操作;3、Python,拥有丰富的数据分析库;4、R,拥有丰富的统计分析库和图形库;5、Tableau,提供了直观易用的用户界面等等。

3783

2023.10.12

SQL中distinct的用法
SQL中distinct的用法

SQL中distinct的语法是“SELECT DISTINCT column1, column2,...,FROM table_name;”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

811

2023.10.27

SQL中months_between使用方法
SQL中months_between使用方法

在SQL中,MONTHS_BETWEEN 是一个常见的函数,用于计算两个日期之间的月份差。想了解更多SQL的相关内容,可以阅读本专题下面的文章。

989

2024.02.23

SQL出现5120错误解决方法
SQL出现5120错误解决方法

SQL Server错误5120是由于没有足够的权限来访问或操作指定的数据库或文件引起的。想了解更多sql错误的相关内容,可以阅读本专题下面的文章。

5581

2024.03.06

sql procedure语法错误解决方法
sql procedure语法错误解决方法

sql procedure语法错误解决办法:1、仔细检查错误消息;2、检查语法规则;3、检查括号和引号;4、检查变量和参数;5、检查关键字和函数;6、逐步调试;7、参考文档和示例。想了解更多语法错误的相关内容,可以阅读本专题下面的文章。

2563

2024.03.06

oracle数据库运行sql方法
oracle数据库运行sql方法

运行sql步骤包括:打开sql plus工具并连接到数据库。在提示符下输入sql语句。按enter键运行该语句。查看结果,错误消息或退出sql plus。想了解更多oracle数据库的相关内容,可以阅读本专题下面的文章。

5580

2024.04.07

sql中where的含义
sql中where的含义

sql中where子句用于从表中过滤数据,它基于指定条件选择特定的行。想了解更多where的相关内容,可以阅读本专题下面的文章。

7301

2024.04.29

sql中删除表的语句是什么
sql中删除表的语句是什么

sql中用于删除表的语句是drop table。语法为drop table table_name;该语句将永久删除指定表的表和数据。想了解更多sql的相关内容,可以阅读本专题下面的文章。

990

2024.04.29

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

60

2026.09.23

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn