温馨提示×

ubuntu oracle集群如何搭

小樊
55
2026-10-13 16:23:05
栏目: 云计算

下面给你一个在 Ubuntu 上搭建 Oracle 集群(RAC)的总体思路 + 关键步骤。
Oracle 官方支持的集群叫 Oracle RAC(Real Application Clusters),在 Ubuntu 上并不是官方首选平台(官方主要支持 RHEL / OEL),但技术上可行,常用于测试或学习。


一、环境前提(非常重要)

1. 操作系统

  • Ubuntu 20.04 / 22.04 LTS(64 位)
  • 多台服务器(至少 2 台,做双节点 RAC)

2. 硬件建议

  • 每台:
    • CPU ≥ 4 核
    • 内存 ≥ 8 GB(推荐 16 GB)
    • 共享存储(必须)

3. 存储要求(RAC 核心)

Oracle RAC 必须有共享存储:

  • 可用:
    • iSCSI
    • NFS(测试环境)
    • 光纤 SAN
  • 需要:
    • OCR / Voting Disk
    • 数据文件

二、架构说明(最简 RAC)

Node1 (ubuntu1) \
                 → Shared Storage
Node2 (ubuntu2) /

组件:

  • Oracle Grid Infrastructure(GI)
  • Oracle Database
  • ASM(推荐)

三、基础系统准备(所有节点)

1. 修改主机名

hostnamectl set-hostname node1

2. /etc/hosts(每个节点一致)

192.168.1.11 node1
192.168.1.12 node2

192.168.1.21 node1-vip
192.168.1.22 node2-vip

192.168.1.30 scan-cluster

3. 关闭防火墙 & SELinux

systemctl stop firewalld
systemctl disable firewalld

Ubuntu 默认没有 SELinux。

4. 安装依赖

apt update
apt install -y \
  binutils \
  make \
  gcc \
  libaio1 \
  libelf-dev \
  libpthread-stubs0-dev \
  unixodbc \
  sysstat \
  linux-tools-common

四、创建 Oracle 用户和组

groupadd -g 1000 oinstall
groupadd -g 1001 dba
groupadd -g 1002 asmadmin

useradd -u 1000 -g oinstall -G dba,asmadmin oracle
passwd oracle

五、共享存储配置(示例:iSCSI)

Node 上

apt install open-iscsi
iscsiadm -m discovery -t st -p 192.168.1.100
iscsiadm -m node -l

识别后:

lsblk

例如:

  • /dev/sdb → OCR
  • /dev/sdc → DATA

六、安装 Oracle Grid Infrastructure(重点)

1. 解压 GI 软件

su - oracle
unzip linuxx64_19c_grid.zip -d /u01/grid

2. 运行安装

cd /u01/grid
./gridSetup.sh

选择:

  • ✅ Configure Oracle Grid Infrastructure for a New Cluster
  • ✅ Typical Install
  • 配置:
    • SCAN Name: scan-cluster
    • Node: node1, node2
    • ASM Diskgroup: OCR

3. 执行 root 脚本

/u01/app/oraInventory/orainstRoot.sh
/u01/app/19c/grid/root.sh

七、创建 ASM 磁盘组

su - grid
asmca

创建:

  • OCR
  • DATA
  • FRA

八、安装 Oracle Database(RAC)

./runInstaller

选择:

  • ✅ Oracle Real Application Clusters
  • 选择两个节点
  • 使用 ASM 存储

九、验证集群

crsctl check cluster
crsctl status resource -t

看到:

  • ora.cluster
  • ora.database
  • 两个节点 ONLINE ✅

十、常见问题(Ubuntu 特有)

1. Ubuntu 不被 Oracle 官方支持

解决:

export CV_ASSUME_DISTID=OEL7

2. lib 路径问题

ln -s /usr/lib/x86_64-linux-gnu /usr/lib64

十一、适用场景建议

✅ 适合:

  • 测试
  • 学习 RAC
  • 实验环境

❌ 不建议:

  • 生产环境(用 OEL / RHEL)

如果你愿意,我可以:

  • 给你 一步一步的详细命令版
  • 或 单节点 RAC 伪集群
  • 或 Docker / VM 方案

你现在是 物理机 / 虚拟机 / 云服务器?节点几个?

0 踩