温馨提示×

Ubuntu上Oracle集群如何搭建

小樊
41
2025-11-15 03:46:31
栏目: 云计算

Ubuntu 上搭建 Oracle RAC 的可行路径与关键步骤

一 方案选择与前置条件

  • 方案选择
    • 生产推荐:使用 Oracle Grid Infrastructure + Oracle Database(RAC) 的标准集群架构,依赖 ASM 提供共享存储,配合 VIP/SCAN 实现高可用与负载均衡。
    • 兼容性与版本:在 Ubuntu 22.04 上已有社区实践成功适配 Oracle 11g RAC(通过适配脚本与手工配置),但需充分测试与加固,生产环境仍建议优先选用受支持的 Oracle Linux/RHEL 搭配官方介质与流程。
  • 基础环境
    • 至少 2 台物理机/虚拟机,配置一致;每台至少 2 块网卡(公网/私网),私网建议使用 10GbE 或更高带宽。
    • 共享存储:为 OCR/Voting Disk 与数据库数据提供共享磁盘,常用 ASM(支持块设备/共享文件系统);虚拟化环境需确保磁盘可见且具备稳定 UUID
    • 网络规划:公网用于客户端访问,私网用于集群心跳与缓存融合(Cache Fusion);准备 VIPSCAN(单客户端接入点)。

二 网络与存储规划

  • 网络
    • 公网(Public):承载业务连接与 VIP;私网(Private/Interconnect):集群心跳、GCS/GES 通信,要求低时延与高吞吐。
    • 规划示例(/etc/hosts 或 DNS 统一解析):
      • 公网:192.168.88.100 rac1192.168.88.101 rac2
      • 私网:10.10.10.10 rac1-priv10.10.10.11 rac2-priv
      • 虚拟 IP:192.168.88.110 rac1-vip192.168.88.111 rac2-vip
      • SCAN:192.168.88.200 scan-ip
    • 要求:各节点间公网/私网双向可达,名称解析一致,禁用或正确配置防火墙策略以放行相关端口与协议。
  • 存储
    • 共享磁盘:至少准备 3 块用于 OCR/Voting(冗余建议 3 份 OCR + 奇数个 Voting Disk),以及若干 DATA 磁盘组。
    • 虚拟化/实验环境:优先使用 块设备(如 iSCSI/FC/NVMe over Fabrics),确保多路径与稳定 UUID;避免仅用文件镜像方式导致 SCSI-3 持久预留不可用。

三 安装与配置步骤

  • 系统准备
    • 安装必要工具与依赖,创建 oracle/oinstall/dba/asmadmin/asmdba/asmoper 等用户与组,配置 sudo 免密;统一 NTP/chrony 时间同步;SSH 互信(oracle 用户免密登录各节点)。
    • 内核参数、资源限制、用户环境变量(ORACLE_BASE/ORACLE_HOME/GRID_HOME 等)按 Oracle 推荐值设置。
  • Grid Infrastructure 安装
    • 在首个节点以 grid 用户运行 runInstaller 安装 Grid Infrastructure(选择“Install and Configure Grid Infrastructure for a Cluster”),按向导完成:
      • 集群名称、SCAN 名称与地址、节点列表、网卡角色(Public/Private)。
      • 存储类型选择 ASM,创建 OCRVoting 磁盘组;若使用 ASMLib,按发行版准备相应内核驱动与工具。
  • Oracle RAC 数据库软件安装
    • oracle 用户运行 runInstaller 安装 Oracle Database 软件(仅软件),随后使用 DBCA 创建 RAC 数据库(选择 ASM 存储、创建 Service、配置 VIP/SCAN Listener)。
  • 集群验证与启停
    • 使用 cluvfy 进行前置检查与阶段验证:cluvfy stage -pre crsinst -n allcluvfy stage -post crsinst -n all;必要时 cluvfy stage create_database ... 执行阶段化建库。
    • 常用运维:crsctl start/stop crscrsctl status res -tsrvctl status database -d <dbname>lsnrctl status(SCAN Listener)。

四 常见问题与注意事项

  • 兼容性与支持
    • Ubuntu 并非 Oracle 官方首要支持平台;在 22.04 上可借助社区适配脚本完成 11g RAC 安装,但生产环境强烈建议选用 Oracle Linux/RHEL 并遵循官方文档与补丁策略。
  • 网络与解析
    • 确保 /etc/hosts 或 DNS 解析一致;公网/私网分离;VIP/SCAN 正确配置并可漂移;防火墙/安全组放行 UDP/TCP 多播ASM/数据库监听端口 等必要流量。
  • 存储与多路径
    • 共享存储需支持 SCSI-3 Persistent Reservation;虚拟化/实验环境优先块设备与稳定 UUID;多路径(如 multipathd)需正确配置并测试故障切换。
  • 时间同步与一致性
    • 集群强烈依赖时间一致性;建议统一 NTP/chrony,避免节点间时钟漂移导致 CSS 异常。
  • 安全与加固
    • 禁用不必要服务,限制 root 直接登录,使用 sudo 精细化授权;按最小权限原则配置 oracle/asm 用户与组;审计关键操作与登录。

五 快速验证清单

  • 集群资源:crsctl status res -t 显示 SCANVIPListenerASM、数据库实例均为 ONLINE
  • 网络连通:节点间公网/私网 ping 通;nslookup 解析 SCAN 返回 3 个 VIPsrvctl config scansrvctl status scan_listener 正常。
  • 存储与磁盘组:asmcmd lsdg 能看到 OCRDATA 等磁盘组;v$asm_disk/v$asm_diskgroup 状态正常。
  • 数据库可用性:srvctl status database -d <dbname> 显示实例 OPENselect instance_name, host_name, status from gv$instance; 两节点均 OPEN;应用通过 SCAN 连接并执行查询。

0