Oracle RAC搭建步骤详解

2025-06发布6次浏览

Oracle RAC(Real Application Clusters)是一种高可用性和高性能的数据库解决方案,通过在多个节点上运行数据库实例来实现负载均衡和故障切换。以下是搭建Oracle RAC的详细步骤解析:


1. 环境准备

1.1 硬件要求

  • 至少两台物理服务器或虚拟机。
  • 高速共享存储设备(如SAN或NAS)。
  • 心跳网络(私有网络)用于节点间通信。

1.2 软件要求

  • 操作系统:Linux(如RHEL、Oracle Linux等)或其他支持Oracle RAC的操作系统。
  • Oracle Grid Infrastructure和Oracle Database软件。

1.3 网络配置

  • 公网IP地址:用于客户端访问。
  • 私网IP地址:用于节点间心跳通信。
  • VIP(Virtual IP):每个节点需要一个VIP,用于故障转移。

2. 基础环境配置

2.1 操作系统设置

  • 内核参数调整: 编辑/etc/sysctl.conf文件,添加以下内容:

    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    kernel.shmall = 2097152
    kernel.shmmax = 4294967296
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    net.ipv4.ip_local_port_range = 9000 65500
    net.core.rmem_default = 262144
    net.core.wmem_default = 262144
    net.core.rmem_max = 4194304
    net.core.wmem_max = 1048576
    

    执行sysctl -p使配置生效。

  • 用户和组创建: 创建oracle用户和oinstalldba组:

    groupadd oinstall
    groupadd dba
    useradd -g oinstall -G dba oracle
    passwd oracle
    
  • 目录权限设置: 创建Oracle安装目录并设置权限:

    mkdir -p /u01/app/oracle/product/19c/dbhome_1
    chown -R oracle:oinstall /u01
    chmod -R 775 /u01
    

2.2 主机名和DNS配置

  • 修改/etc/hosts文件,添加所有节点的公网IP、私网IP和VIP信息。例如:
    192.168.1.10 node1.example.com node1
    192.168.1.11 node2.example.com node2
    192.168.1.12 node1-vip.example.com node1-vip
    192.168.1.13 node2-vip.example.com node2-vip
    192.168.2.10 node1-priv.example.com node1-priv
    192.168.2.11 node2-priv.example.com node2-priv
    

3. 安装Grid Infrastructure

3.1 解压安装包

将Oracle Grid Infrastructure安装包解压到指定目录:

unzip grid.zip

3.2 启动OUI(Oracle Universal Installer)

oracle用户身份运行安装程序:

./runInstaller

3.3 配置ASM存储

  • 在安装过程中选择“Cluster Configuration”。
  • 配置SCAN(Single Client Access Name),用于客户端连接。
  • 配置ASM磁盘组,用于存储数据文件、控制文件和重做日志。

4. 安装Oracle Database软件

4.1 解压数据库安装包

unzip database.zip

4.2 启动OUI

./runInstaller

4.3 配置数据库实例

  • 选择“Create and Configure a Database”。
  • 指定数据库名称和字符集。
  • 选择RAC模板并关联ASM磁盘组。

5. 验证和测试

5.1 验证集群状态

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

crsctl check cluster

5.2 验证数据库状态

登录到任意节点,使用sqlplus连接数据库:

sqlplus / as sysdba
select instance_name, status from v$instance;

5.3 测试故障切换

关闭一个节点的数据库实例,验证另一个节点是否接管服务。


6. 注意事项

  • 确保所有节点的时间同步(使用NTP服务)。
  • 定期备份ASM磁盘组元数据:
    asmcmd md_backup /backup/asm_metadata.bkp
    
  • 监控集群健康状态,使用GRID_HOME/bin/srvctl管理服务。