如何在麒麟V10操作系统上成功编译并安装Oracle 19c?

千萱小哥_7869

千萱小哥_7869

2026-07-08

1026人浏览

原创

oracle 19c不能源码编译,仅提供预编译二进制包;其runinstaller硬校验/etc/os-release中id必须为"rhel"且version_id为"8.6"等白名单值,麒麟v10因id="kylin"触发ins-32037错误,需临时修改并安装libnsl等特有依赖,安装后须立即还原系统标识以避免yum/dnf异常。

不能直接编译 oracle 19c —— 它是闭源商业软件,官方只提供预编译的二进制安装包(linux.x64_193000_db_home.zip 或 linux.arm64_1919000_db_home.zip),不存在“源码编译”这一操作。所谓“编译安装”,实际是绕过发行版校验、补全缺失依赖、调整环境后运行官方 runinstaller 完成部署。

为什么 runInstaller 报 INS-32037 错误

Oracle 19c 的 runInstaller 启动时硬检查 /etc/os-release 和 /etc/redhat-release,只认 ID="rhel"、ID="centos"、ID="ol" 等白名单值。银河麒麟 V10 的 ID="kylin" 会被直接拒绝,报错:[fatal] [ins-32037] the operating system does not meet minimum requirements。

  • ID="rhel" 必须存在且严格等于 rhel(不能写 centos 或 ol)
  • VERSION_ID 建议设为 "8.6" 或 "8.8";设为 "8.0" 可能触发补丁版本校验失败
  • 如果 /etc/redhat-release 存在(哪怕内容为空或写着 CentOS 7),runInstaller 会优先读它并报错 —— 必须 rm -f /etc/redhat-release
  • 改完 /etc/os-release 后需退出当前 shell 并重新登录,否则 LSB_RELEASE 环境变量不刷新,校验仍失败

麒麟 V10 必装依赖与关键差异点

麒麟 V10 源中部分包名与 RHEL 不同,直接套用 RHEL 文档会缺包。以下命令已适配 Kylin V10 SP2/SP3:

  • 基础工具链:yum install -y binutils glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libgcc libstdc++ libstdc++-devel libxcb make nfs-utils net-tools sysstat unixODBC unixODBC-devel
  • libnsl 是高频缺失项:必须显式安装 yum install -y libnsl.x86_64(ARM 架构用 libnsl.aarch64)
  • 图形化安装还需:yum install -y xorg-x11-apps xorg-x11-fonts-* libXtst-devel libXrender-devel
  • ARM 版本额外注意:ln -s /lib64/libnsl.so.1 /lib64/libnsl.so.2(Oracle 19c ARM 安装器链接时依赖该软链)

静默安装 responsefile 的麒麟特异性配置

直接复用 RHEL 的 db_install.rsp 在麒麟上大概率失败,关键字段必须重写:

QuantOracle
QuantOracle

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

下载
  • oracle.install.db.config.starterdb.characterSet=AL32UTF8(必须显式指定,否则默认 ZHS16GBK 可能引发字符集冲突)
  • oracle.install.db.InstallEdition=EE(企业版,社区版不支持麒麟)
  • oracle.install.db.OSDBA_GROUP=dba(组名必须真实存在,麒麟默认创建的是 oinstall 和 dba,不能写 asmadmin)
  • 路径必须绝对且存在:oracle.install.option=INSTALL_DB_SWONLY + UNIX_GROUP_NAME=oinstall + INVENTORY_LOCATION=/u01/app/oraInventory
  • 执行命令需加 -ignorePrereqFailure(跳过部分非致命预检,如字体检测),但不可省略 -force

安装后立即要做的事

Oracle 安装完成不等于可用。麒麟系统上最容易被忽略的三件事:

  • 还原 /etc/os-release:安装完必须立刻恢复原始备份(cp /etc/os-release.bak /etc/os-release),否则 dnf/yum 会因 ID 错误无法更新,合规审计通不过
  • 手动执行 root.sh:脚本位于 $ORACLE_HOME/root.sh,必须以 root 身份运行,它会配置权限、启动监听器、注册服务 —— 静默安装不会自动调用
  • 验证 libclntsh.so:若后续应用连接报 libclntsh.so: cannot open shared object file,说明 LD_LIBRARY_PATH 未生效或软链错误,应检查 ls -l $ORACLE_HOME/lib/libclntsh.so* 是否指向正确版本

真正麻烦的从来不是安装动作本身,而是麒麟系统对“兼容性”的定义比 RHEL 更窄:内核参数、用户 limits、SELinux 状态、甚至 /proc/sys/fs/aio-max-nr 的数值,都可能让 runInstaller 在最后一步崩溃。这些细节不会报明确错误,只会卡在“正在配置数据库”不动 —— 所以预检查日志(/tmp/OraInstall*/installActions*.log)必须逐行看。

相关文章

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

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

下载

相关标签:

oracle 操作系统

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

相关专题

更多
视频服务器配置参数有哪些
视频服务器配置参数有哪些

视频服务器配置参数有处理器、内存、存储、视频编解码器、网络接口、视频输入输出接口、操作系统、安全性、环境适应性和成本。在搭建视频服务器时,需要根据实际需求和预算,合理选择这些参数,以实现高性能、高稳定性和低成本的目标。

2023.10.17

4620

11

linux的操作系统介绍
linux的操作系统介绍

Linux是一个灵活、稳定、安全的操作系统,适用于各种不同的应用场景,从个人电脑到服务器和嵌入式系统。想了解更多Linux的相关内容,可以阅读本专题下面的文章。

2024.03.20

3606

12

Linux操作系统的主要用途
Linux操作系统的主要用途

Linux操作系统用途广泛,包括:服务器运营,软件开发,科学研究和教育,嵌入式系统,以及个人电脑和笔记本电脑。想了解更多Linux的相关内容,可以阅读本专题下面的文章。

2024.03.21

6319

8

linux操作系统的作用
linux操作系统的作用

linux操作系统在以下领域发挥着关键作用:服务器和云计算;嵌入式系统;个人电脑和笔记本电脑;超级计算;其他领域等等。想了解更多linux操作系统的相关内容,可以阅读本专题下面的文章。

2024.04.12

2955

5

有哪些常见的网络操作系统
有哪些常见的网络操作系统

常见的网络操作系统有windows server、linux、unix、macos server、freebsd、cisco ios、juniper junos和hp-ux等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.09.12

3504

6

32位操作系统怎么改成62位的
32位操作系统怎么改成62位的

要将 32 位操作系统升级到 64 位,需要遵循以下步骤:1. 检查硬件和软件兼容性;2. 备份数据;3. 获取 64 位操作系统;4. 创建可启动安装媒体;5. 从安装媒体启动计算机;6. 选择“升级”选项;7. 完成安装。

2025.04.02

3483

9

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

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

2023.10.12

4363

8

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

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

2023.10.27

911

4

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

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

2024.02.23

1129

5

热门下载

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

精品课程

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