如何在CentOS 7上静默安装Oracle 12c R2

浅芳酱_2287

浅芳酱_2287

2026-10-27

744人浏览

原创

静默安装 Oracle 12c R2 在 CentOS 7 上可行,但必须严格满足内核参数、用户权限、依赖包和响应文件四方面条件;漏掉任意一项都会卡在 runInstaller 启动阶段或中途报错退出。

如何在centos 7上静默安装oracle 12c r2

静默安装 Oracle 12c R2 在 CentOS 7 上可行,但必须严格满足内核参数、用户权限、依赖包和响应文件四方面条件;漏掉任意一项都会卡在 runInstaller 启动阶段或中途报错退出。

检查系统是否满足最低硬性要求

Oracle 12.2.0.1(R2)对 CentOS 7 的实际运行门槛比文档写的高:内存低于 4GB 时 runInstaller 会直接拒绝启动,/tmp 空间不足 1GB 则解压响应阶段失败,而 uname -m 返回非 x86_64 会导致二进制不兼容。

  • 执行 grep MemTotal /proc/meminfo,确认值 ≥ 4194304 kB(即 4GB)
  • 执行 df -h /tmp,确保可用空间 ≥ 1G;若不足,可临时挂载大容量目录到 /tmp 或设 export TMPDIR=/path/to/big/dir
  • 执行 uname -m,输出必须是 x86_64;i686 或 aarch64 均不可用
  • 执行 cat /etc/redhat-release,确认是 CentOS Linux release 7.x(7.2+ 更稳妥,7.0/7.1 有已知 libstdc++ 兼容问题)

安装前必须装全的 RPM 包(含 i686 变体)

Oracle 安装器在静默模式下不会提示缺包,而是随机在某个步骤崩溃并输出模糊错误(如 error while loading shared libraries: libaio.so.1),本质是 32 位兼容库缺失。CentOS 7 默认不装 i686 架构包,但 Oracle 12c R2 的监听器和部分工具链强依赖它们。

  • 一次性装全(root 执行):yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686 gcc gcc-c++ glibc glibc.i686 glibc-devel glibc-devel.i686 ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libXi libXi.i686 libXtst libXtst.i686 make sysstat unixODBC unixODBC.i686 unixODBC-devel unixODBC-devel.i686
  • 验证是否齐备:rpm -q binutils libaio-devel libstdc++-devel unixODBC-devel —— 缺任一即重装
  • 特别注意:compat-libstdc++-33 在某些最小化镜像中被标记为 “not available”,此时改用 yum --enablerepo=base install compat-libstdc++-33

关键配置项不能只写一半

/etc/sysctl.conf 和 /etc/security/limits.conf 是静默安装中最常被抄错的两个文件。少一个参数、拼错一个键名(比如 fs.aio-max-nr 写成 fs.aio-maxnr)、或漏掉 sysctl -p 生效步骤,都会导致 runInstaller 在校验阶段报 PRVF-7532 : Kernel parameter check failed for "xxx" 并终止。

QuantOracle
QuantOracle

63个确定性量化金融计算器 + 10个通过MCP的复合工作流。期权定价、Greeks、奇异衍生品、风险指标、投资组合优化……

下载
  • /etc/sysctl.conf 必须包含(且顺序无关):fs.aio-max-nr = 1048576、fs.file-max = 6815744、kernel.sem = 250 32000 100 128、kernel.shmmni = 4096、kernel.shmall = 2097152、kernel.shmmax = 536870912、net.ipv4.ip_local_port_range = 9000 65500、net.core.rmem_default = 262144、net.core.rmem_max = 4194304、net.core.wmem_default = 262144、net.core.wmem_max = 1048586
  • /etc/security/limits.conf 末尾追加(仅对 oracle 用户生效):oracle soft nofile 1024、oracle hard nofile 65536、oracle soft nproc 16384、oracle hard nproc 16384、oracle soft stack 10240、oracle hard stack 32768
  • 执行 sysctl -p && ulimit -Hn 验证:后者应输出 65536;若仍是 1024,说明 limits 未加载,需确认 oracle 用户登录 shell 是否为 /bin/bash 且未被 /etc/security/limits.d/ 下其他文件覆盖

响应文件里最容易填错的三个字段

Oracle 提供的模板 db_install.rsp 中,oracle.install.option、ORACLE_HOSTNAME、oracle.install.db.config.starterdb.type 这三项一旦出错,安装器不会报语法错,而是静默跳过数据库建库步骤,最终只剩一个空 ORACLE_HOME。

  • oracle.install.option=INSTALL_DB_SWONLY(仅装软件)或 INSTALL_DB_AND_CONFIG(装软件+建库),不能写成 INSTALL_DB_SW_ONLY 或漏掉大小写
  • ORACLE_HOSTNAME 必须与 /etc/hosts 中第一行 IP 对应的主机名完全一致(区分大小写),且不能带域名后缀(如写 oracledb.local 而 hosts 里是 oracledb 就失败)
  • 若选 INSTALL_DB_AND_CONFIG,则 oracle.install.db.config.starterdb.type 必须是 GENERAL_PURPOSE 或 DATA_WAREHOUSE,不能填 general_purpose(小写)或 General Purpose(带空格)
  • 测试响应文件语法:./runInstaller -executePrereqs -responseFile /path/to/db_install.rsp -silent —— 成功才代表基础字段无硬伤

真正卡住人的地方不在安装命令本身,而在于 Oracle 静默模式把所有前置校验压缩进一次执行:从内核参数、用户 limits、共享内存段、DNS 反查、到响应文件字段合法性,全部串行校验。任何一个环节失败,它就停在那,不告诉你具体哪一行错了——所以务必按顺序逐项验证,别跳步。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

oracle centos

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

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

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

2023.10.12

4543

8

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

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

2023.10.27

951

4

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

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

2024.02.23

1189

5

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

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

2024.03.06

6521

10

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

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

2024.03.06

3283

4

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

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

2024.04.07

6480

11

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

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

2024.04.29

8881

6

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

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

2024.04.29

1210

5

sql中删除一列的命令是什么
sql中删除一列的命令是什么

在sql中,使用alter table语句可以删除一列,语法为:alter table table_name drop column column_name。想了解更多sql的相关内容,可以阅读本专题下面的文章。

2024.04.29

1052

5

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程