背景
信创国产化浪潮下,越来越多的企业需要在国产操作系统上部署 Oracle 数据库。但现实是:Oracle 官方文档几乎不覆盖国产 Linux 发行版,网上的资料也少得可怜。
麒麟 V10、统信 UOS 这些国产系统,内核版本、包管理器、依赖库都和传统的 CentOS/RHEL 有差异,手动安装 Oracle 经常遇到各种"意料之外"的问题。
本文介绍一种经过验证的自动化方案------使用 OracleShellInstall 脚本在国产操作系统上一键部署 Oracle 数据库。
国产 OS 安装 Oracle 的常见问题
1. 依赖包差异
麒麟 V10 基于 CentOS 8/RHEL 8,但包名和版本有差异。比如 compat-libcap1 在麒麟源里可能叫别的名字,或者根本没有。手动安装时经常卡在依赖包这一步。
2. 内核参数差异
国产 OS 的默认内核参数配置与 Oracle 推荐值差距较大,需要调整的参数更多。
3. 缺少官方认证
Oracle 的 Certification Matrix 上没有麒麟和统信。这意味着你遇到问题时找不到 Oracle 官方支持,只能自己摸索。
4. 资料匮乏
网上关于"麒麟 V10 装 Oracle"的文章屈指可数,且质量参差不齐。很多文章写的是老版本,已经过时。
解决方案:OracleShellInstall
OracleShellInstall (www.oracleshellinstall.com)是一个专门针对 Oracle 数据库安装的自动化 Shell 脚本。它的核心优势之一就是对国产操作系统的原生支持。

目前已支持的国产系统:
- 麒麟 Kylin V10(银河麒麟高级服务器操作系统)
- 统信 UOS 20
- 龙蜥 Anolis OS 7/8
- openEuler 20/22
以及 CentOS、RHEL、Oracle Linux、Rocky Linux、AlmaLinux、Ubuntu、Debian 等 20+ 主流发行版。
麒麟 V10 + Oracle 19c RAC 部署实战
环境规划
| 项目 | 节点 1 | 节点 2 |
|---|---|---|
| 主机名 | rac01 | rac02 |
| 操作系统 | Kylin V10 SP3 | Kylin V10 SP3 |
| Public IP | 192.168.1.101 | 192.168.1.102 |
| Private IP | 10.10.10.101 | 10.10.10.102 |
| VIP | 192.168.1.201 | 192.168.1.202 |
| SCAN IP | 192.168.1.200 | --- |
| Oracle 版本 | 19c | 19c |
| 共享磁盘 | /dev/sdb (ASM DATA) | --- |
安装步骤
1. 上传安装介质到两个节点的 /soft 目录
bash
# 两个节点都需要
LINUX.X64_193000_db_home.zip
LINUX.X64_193000_grid_home.zip
OracleShellInstall.sh
2. 使用命令生成器配置参数
打开 www.oracleshellinstall.com/generator.h... ,选择 RAC 模式,配置好节点信息后复制命令。
3. 在节点 1 上执行安装命令
bash
sh OracleShellInstall.sh -install_mode rac \
-lf eth0 -pf eth1 \
-n orcl -o orcl \
-dp oracle -gp oracle \
-dd /dev/sdb -dn DATA \
-node1 rac01 -node2 rac02 \
-publicip1 192.168.1.101 -publicip2 192.168.1.102 \
-privateip1 10.10.10.101 -privateip2 10.10.10.102 \
-vip1 192.168.1.201 -vip2 192.168.1.202 \
-scanip 192.168.1.200
脚本会自动完成:
- 两个节点的 OS 参数配置
- SSH 互信建立
- Grid Infrastructure 安装(含 ASM)
- ASM 磁盘组创建
- Oracle 数据库软件安装
- RAC 数据库创建
- 安装后优化
全程约 40 分钟。
4. 验证集群状态
bash
[grid@rac01 ~]$ crsctl stat res -t
NAME TARGET STATE SERVER STATE_DETAILS
----------- ------ ----- ------ -------------
ora.orcl.db ONLINE ONLINE rac01 Open
ONLINE ONLINE rac02 Open
ora.scan1.vip ONLINE ONLINE rac01
实际案例
OracleShellInstall 官网提供了完整的兼容性矩阵和安装实录(www.oracleshellinstall.com/compat.html... OS 的实际安装记录:
- 麒麟 V10 + Oracle 19c 单机
- 麒麟 V10 + Oracle 19c RAC
- 统信 UOS 20 + Oracle 19c
- 龙蜥 Anolis OS 8 + Oracle 19c
- openEuler 22 + Oracle 19c
每篇实录都有完整的命令输出和截图,可以作为参考。
为什么脚本能解决国产 OS 的兼容问题?
OracleShellInstall 内部维护了一套完整的 OS 识别和适配逻辑:
- 自动识别 OS 类型和版本:能区分麒麟 V10、统信 UOS 与标准 RHEL/CentOS
- 差异化依赖处理:针对不同 OS 使用不同的包名和安装命令
- 内核参数适配:根据 OS 版本自动设置合适的内核参数
- 持续更新:作者持续跟进国产 OS 新版本,保持兼容
这些差异化处理是靠手动安装很难做到的------你需要在每种 OS 上都摸索一遍,而脚本已经帮你做了。
总结
国产化 + Oracle 的组合在信创项目中非常常见,但资料和工具的匮乏让很多项目组在数据库部署环节耗费大量时间。OracleShellInstall 提供了一种经过生产验证的自动化方案,特别是在国产操作系统适配方面有显著优势。
相关链接: