温馨提示×

Debian上Oracle集群怎么搭建

小樊
46
2025-11-09 15:03:04
栏目: 云计算

Debian上搭建Oracle RAC集群的详细步骤

一、前置准备

1. 系统与依赖配置

  • 操作系统要求:使用Debian 10及以上稳定版(推荐Debian 11),确保系统已更新至最新状态:
    sudo apt update && sudo apt upgrade -y
    
  • 安装依赖包:Oracle RAC需要libaio1libgcc1unixodbckmodoracleasm等基础依赖,通过以下命令安装:
    sudo apt install -y libaio1 libgcc1 unixodbc kmod oracleasm
    

2. 硬件与网络规划

  • 集群节点要求:至少2台物理/虚拟服务器(如node1node2),配置相同的CPU、内存(建议≥16GB)、存储(共享存储用于ASM)。
  • 网络配置
    • 公有网络:用于客户端访问(默认端口1521),配置静态IP(如192.168.1.231192.168.1.232)。
    • 私有网络:集群节点间心跳通信(推荐10Gbps以上带宽),配置静态IP(如10.10.10.23110.10.10.232)。
    • 虚拟IP(VIP):客户端连接的浮动IP(如192.168.1.233192.168.1.234),用于故障自动漂移。
    • DNS/hosts解析:在/etc/hosts中添加节点名称与IP映射(如node1 192.168.1.231node2 192.168.1.232),确保节点间可通过主机名通信。

3. 用户与环境变量

  • 创建Oracle用户与组
    sudo groupadd -r oinstall
    sudo groupadd -r dba
    sudo useradd -m -r -g oinstall -G dba oracle
    sudo passwd oracle  # 设置密码
    
  • 配置环境变量:编辑/home/oracle/.bashrc,添加以下内容:
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=/u01/app/oracle/product/23C/dbhome_1  # 根据Oracle版本调整
    export PATH=$PATH:$ORACLE_HOME/bin
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
    export ORACLE_SID=+ASM  # ASM实例SID(可选)
    
    执行source /home/oracle/.bashrc使配置生效。

二、安装Oracle Grid Infrastructure(集群基础)

Grid Infrastructure是Oracle RAC的核心组件,负责集群管理、ASM存储访问及节点监控。

1. 下载与解压安装包

从Oracle官网下载适用于Debian的LINUX.X64_23C_grid_home.zip(Grid Infrastructure安装包),解压至临时目录:

unzip LINUX.X64_23C_grid_home.zip -d /tmp/grid_home

2. 运行安装程序

oracle用户执行runInstaller,选择“集群安装”模式:

cd /tmp/grid_home
./runInstaller -silent -responseFile /path/to/grid_response_file.rsp -instRepo /tmp/grid_repo -localListener LISTENER_NODE1 -db_name racdb
  • 响应文件配置:需提前创建grid_response_file.rsp,指定集群节点(node1,node2)、SCAN名称(如racdb-scan)、VIP地址等参数。
  • 验证环境:安装前使用cluvfy工具检查集群环境(如节点连通性、存储权限):
    ./cluvfy stage -pre crsinst -n node1,node2 -fixup
    

3. 完成安装

  • 运行root.sh脚本:在每个节点上以root用户执行生成的root.sh脚本(位于/u01/app/oraInventory)。
  • 验证Grid Infrastructure状态:
    crsctl status cluster  # 查看集群状态
    crsctl stat res -t     # 查看集群资源状态
    

三、安装Oracle RAC数据库软件

在Grid Infrastructure安装成功的节点上,安装Oracle Database软件(RAC模式)。

1. 下载与解压安装包

从Oracle官网下载适用于Debian的LINUX.X64_23C_database.zip(数据库安装包),解压至临时目录:

unzip LINUX.X64_23C_database.zip -d /tmp/db_home

2. 运行安装程序

oracle用户执行runInstaller,选择“RAC安装”模式:

cd /tmp/db_home
./runInstaller -silent -responseFile /path/to/db_response_file.rsp -instRepo /tmp/db_repo -db_name racdb -memory_target 8G -asm_sys_asm_diskgroup=+DATA
  • 响应文件配置:指定集群节点、Grid Infrastructure主目录(/u01/app/19.0.0/grid)、数据库字符集(如AL32UTF8)等参数。

3. 完成安装

  • 运行root.sh脚本:在每个节点上以root用户执行生成的root.sh脚本(位于/u01/app/oraInventory)。
  • 验证数据库软件状态:
    srvctl status database -d racdb  # 查看数据库状态
    

4. 创建RAC数据库

使用dbca(Database Configuration Assistant)工具创建RAC数据库:

dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbName racdb -sid racdb -createAsContainerDatabase true -numberOfPDBs 1 -pdbName pdb1 -datafileDestination +DATA -recoveryAreaDestination +FRA -characterSet AL32UTF8 -memoryPercentage 40 -emConfiguration NONE
  • 参数说明-templateName指定数据库模板(如General_Purpose),-datafileDestination指定数据文件存储位置(ASM磁盘组),-numberOfPDBs指定PDB数量。

四、配置与验证集群

1. 验证集群状态

使用以下命令检查集群资源与数据库状态:

crsctl status cluster -t      # 查看集群节点与资源状态
srvctl status database -d racdb  # 查看数据库实例状态
srvctl status instance -d racdb -n node1  # 查看指定节点的实例状态

2. 测试故障转移

  • 模拟节点故障:停止node1的Oracle服务(sudo systemctl stop oracle-racdb),观察node2是否自动接管VIP与服务。
  • 验证VIP漂移:在客户端使用ping racdb-scan,确认IP未中断;使用sqlplus连接数据库,验证服务可用性。

五、后续维护

  • 备份策略:配置RMAN定期备份(全量+增量),存储至ASM磁盘组或第三方存储:
    rman target /
    BACKUP DATABASE PLUS ARCHIVELOG DELETE INPUT;
    
  • 补丁管理:使用opatch工具安装Oracle推荐的补丁(如CPU、PSU),确保系统安全:
    opatch apply /path/to/patch
    
  • 性能监控:使用Oracle Enterprise Manager(OEM)或第三方工具(如Prometheus+Granafa)监控集群性能(CPU、内存、I/O、SGA/PGA使用率)。

注意事项

  • Debian并非Oracle官方认证的Linux发行版,部分功能可能存在兼容性问题,建议优先使用Oracle Linux或RHEL。
  • 实际安装过程中,需根据Oracle版本(如23C、19C)调整路径与参数,参考Oracle官方文档(如《Oracle Database安装指南》)解决特定问题。

0