温馨提示×

怎样在Ubuntu上配置Oracle RAC

小樊
53
2025-09-23 11:20:58
栏目: 云计算

在Ubuntu上配置Oracle RAC的步骤指南

1. 安装前准备

1.1 系统要求

  • 操作系统:Ubuntu 16.04及以上版本(推荐Ubuntu 22.04 LTS,兼容性更好);
  • 硬件要求:每个节点至少2核CPU、8GB内存(生产环境建议16GB+)、足够磁盘空间(Oracle软件安装需10GB+,数据库文件需根据容量规划);
  • 节点配置:至少2个节点(物理机或虚拟机),节点间网络延迟≤1ms,存储延迟≤5ms。

1.2 软件依赖

在所有节点上安装Oracle预依赖包(以Ubuntu 22.04为例):

sudo apt update
sudo apt install -y oracle-rdbms-19c preinstall-rac  # 19c版本示例,根据需求调整

preinstall-rac脚本会自动安装binutilslibaiosysstat等必要依赖。

1.3 网络配置

  • 主机名与解析:为每个节点设置静态主机名(如node1node2),并在/etc/hosts中添加解析:
    192.168.1.10 node1
    192.168.1.11 node2
    
  • 网络接口划分
    • 公共网络:用于客户端访问(分配公网IP,如192.168.1.10192.168.1.11);
    • 私有网络:用于节点间心跳通信(分配私有IP,如10.0.0.1010.0.0.11,子网掩码255.255.255.0)。

1.4 存储配置

  • 共享存储:使用ASM(Automatic Storage Management)管理共享磁盘,需准备至少3块磁盘:
    • OCR磁盘:100MB(存储集群配置信息);
    • 投票磁盘:20MB(用于节点间投票,确保集群一致性);
    • 数据磁盘组:用于存储数据库文件(如DATAFRA)。
  • 挂载磁盘:将共享磁盘挂载到所有节点的同一路径(如/dev/sdb/dev/sdc),并格式化为ext4xfs文件系统:
    sudo mkfs.ext4 /dev/sdb
    sudo mkfs.ext4 /dev/sdc
    sudo mkdir -p /u01/shared
    sudo mount /dev/sdb /u01/shared
    sudo mount /dev/sdc /u01/shared
    
    添加/etc/fstab条目实现开机自动挂载。

2. 安装Oracle Grid Infrastructure

Grid Infrastructure是Oracle RAC的核心组件,包含集群同步服务(CSS)、事件管理服务(EVM)和ASM。

2.1 运行安装程序

oracle用户(需提前创建)执行安装脚本:

su - oracle
cd /u01/app/oracle/product/19.0.0/grid
./runInstaller

选择“集群安装模式”,指定所有节点(node1node2),设置OCR和投票磁盘的挂载路径(如/u01/shared)。

2.2 执行配置脚本

安装完成后,以root用户执行以下脚本:

sudo /u01/app/oraInventory/orainstRoot.sh
sudo /u01/app/oracle/product/19.0.0/grid/root.sh

按照提示确认配置,完成后Grid Infrastructure会自动启动。

3. 安装Oracle RAC数据库软件

3.1 运行数据库安装程序

仍以oracle用户执行:

su - oracle
cd /u01/app/oracle/product/19.0.0/dbhome_1
./runInstaller

选择“RAC安装”选项,指定Grid Infrastructure的安装路径(如/u01/app/oracle/product/19.0.0/grid),输入所有节点的oracle用户信息。

3.2 执行配置脚本

安装完成后,以root用户执行:

sudo /u01/app/oracle/product/19.0.0/dbhome_1/root.sh

确认配置后,数据库软件会自动注册到Grid Infrastructure。

4. 创建Oracle RAC数据库

使用DBCA(Database Configuration Assistant)创建RAC数据库:

dbca
  • 选择“创建数据库”→“RAC数据库”;
  • 输入全局数据库名(如orcl)和SID(如orcl1);
  • 配置字符集(推荐AL32UTF8);
  • 选择存储类型为“ASM”,并指定数据磁盘组(如DATA);
  • 配置数据库初始化参数(如内存分配、进程数);
  • 完成创建后,DBCA会自动创建数据库实例并注册到监听器。

5. 验证集群功能

5.1 检查集群状态

使用crsctl命令查看集群状态:

crsctl stat res -t

正常输出应显示所有资源(如数据库实例、监听器、ASM)均为“ONLINE”状态。

5.2 测试故障转移

  • 停止node1的Oracle服务:
    srvctl stop instance -d orcl -i orcl1
    
  • 检查node2是否自动接管实例:
    crsctl stat res -t
    
    应显示orcl1实例的状态变为“ONLINE”(位于node2)。

6. 日常管理与维护

  • 启动/停止集群
    crsctl start crs  # 启动集群
    crsctl stop crs   # 停止集群
    
  • 备份数据库:使用RMAN(Recovery Manager)配置定期备份,存储到ASM磁盘组。
  • 监控性能:使用AWR(Automatic Workload Repository)和ASH(Active Session History)报告分析数据库性能。

以上步骤为Ubuntu上配置Oracle RAC的核心流程,实际操作中需根据具体环境(如Oracle版本、硬件配置)调整参数。建议在测试环境中充分验证后再应用于生产环境。

0