国产化适配实战:麒麟 V10 + Oracle 19c RAC 自动化部署方案

0 阅读4分钟

背景

信创国产化浪潮下,越来越多的企业需要在国产操作系统上部署 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

OracleShellInstallwww.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
主机名rac01rac02
操作系统Kylin V10 SP3Kylin V10 SP3
Public IP192.168.1.101192.168.1.102
Private IP10.10.10.10110.10.10.102
VIP192.168.1.201192.168.1.202
SCAN IP192.168.1.200
Oracle 版本19c19c
共享磁盘/dev/sdb (ASM DATA)

安装步骤

1. 上传安装介质到两个节点的 /soft 目录

# 两个节点都需要
LINUX.X64_193000_db_home.zip
LINUX.X64_193000_grid_home.zip
OracleShellInstall.sh

2. 使用命令生成器配置参数

打开 www.oracleshellinstall.com/generator.h… ,选择 RAC 模式,配置好节点信息后复制命令。

3. 在节点 1 上执行安装命令

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. 验证集群状态

[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 识别和适配逻辑:

  1. 自动识别 OS 类型和版本:能区分麒麟 V10、统信 UOS 与标准 RHEL/CentOS
  2. 差异化依赖处理:针对不同 OS 使用不同的包名和安装命令
  3. 内核参数适配:根据 OS 版本自动设置合适的内核参数
  4. 持续更新:作者持续跟进国产 OS 新版本,保持兼容

这些差异化处理是靠手动安装很难做到的——你需要在每种 OS 上都摸索一遍,而脚本已经帮你做了。

总结

国产化 + Oracle 的组合在信创项目中非常常见,但资料和工具的匮乏让很多项目组在数据库部署环节耗费大量时间。OracleShellInstall 提供了一种经过生产验证的自动化方案,特别是在国产操作系统适配方面有显著优势。

相关链接