Debian 上搭建 Oracle 集群的可行路径与步骤
一、方案选择与前置说明
- 在 Debian 上搭建 Oracle Real Application Clusters(RAC) 属于非官方支持路径,生产环境强烈建议使用 Oracle Linux 或 RHEL。若必须在 Debian 上实验,可采用 Oracle VM(OVM)+ Deploycluster 模板快速部署 RAC 模板环境,该方式在企业实践中较为常见,但官方支持性有限。部署时通常准备至少 2 个节点,并规划 Public、Private、VIP、SCAN 等网络平面。示例网络规划如下(示例值,可按实际替换):
- 节点1:Public 192.168.1.231,Private 10.10.10.231,VIP 192.168.1.233
- 节点2:Public 192.168.1.232,Private 10.10.10.232,VIP 192.168.1.234
- SCAN 名称:racnode1-racnode2-scan,SCAN IP:192.168.1.235
- 上述网络与命名规范是 RAC 的常见做法,便于后续 Grid Infrastructure 与数据库安装识别。
二、基于 OVM 与 Deploycluster 的快速部署步骤
- 环境准备
- 在 Oracle VM Manager 中创建两台 Oracle VM Server 虚拟机(如:racnode.0、racnode.1),并上传 Oracle Database/RAC 模板镜像;确保管理网络与存储网络可达。
- 准备网络配置
- 编辑 netconfig.ini,按规划填写节点名、Public/Private IP、VIP 与 SCAN 信息(见上节示例)。该文件是 Deploycluster 的核心输入,用于自动生成和配置 RAC 网络拓扑。
- 运行 Deploycluster 部署
- 解压 Deploycluster 工具并执行部署脚本(示例命令):
- ./deploycluster.py -u admin -p OracleVM326 -M racnode.0,racnode.1 -N netconfig.ini
- 工具会自动完成:虚拟机克隆、网络与共享存储配置、Grid Infrastructure 与数据库软件安装、集群资源创建等。部署完成后,使用 olsnodes -n、crsctl stat res -t 等命令验证集群状态。
- 说明
- 该方式适合快速搭建测试/演示环境;若需要物理设备直通(Production – Supported)或虚拟设备(Test – Unsupported),可按需选择存储直通或虚拟磁盘方案。
三、若需在 Debian 原生部署单实例 Oracle 19c 的基础步骤(为后续 RAC 做准备)
- 安装依赖与创建用户
- 安装基础编译与运行库,创建 oracle/oinstall/dba 用户与组,创建目录 /u01/app/oracle 并赋权。
- 内核与资源限制
- 调整 /etc/sysctl.conf(示例关键参数):
- kernel.shmall = 2097152
- kernel.shmmax = 536870912
- kernel.shmmni = 4096
- kernel.sem = 250 32000 100 128
- fs.file-max = 65536
- net.ipv4.ip_local_port_range = 1024 65000
- net.core.rmem_default = 262144
- net.core.rmem_max = 4194304
- net.core.wmem_default = 262144
- net.core.wmem_max = 1048576
- fs.aio-max-nr = 1048576
- 配置 /etc/security/limits.conf(示例):
- oracle soft nproc 2047;oracle hard nproc 16384
- oracle soft nofile 1024;oracle hard nofile 65536
- oracle soft memlock 33554432;oracle hard memlock 33554432
- 环境变量与安装
- 设置 ORACLE_BASE、ORACLE_HOME、ORACLE_SID、PATH、LD_LIBRARY_PATH 等;解压 Oracle 安装介质并执行 runInstaller 完成软件安装;随后使用 DBCA 创建数据库实例。
- 说明
- 以上为单实例数据库在 Debian 上的通用做法,便于熟悉 Oracle 在 Debian 的依赖与参数基线;RAC 还需在此基础上增加共享存储、集群件与多网卡配置等步骤。
四、RAC 必备配置要点与常见问题
- 网络规划与解析
- 正确配置 /etc/hosts 或 DNS,区分 Public、Private、VIP、SCAN;确保 SCAN 名称可解析为 1 个或 3 个 SCAN IP,且 SCAN 与 VIP 在不同网段/交换机上更可靠。
- 共享存储与 ASM
- 规划 OCR/Voting Disk(建议由 ASM 管理),以及数据磁盘组;在虚拟环境优先使用 多路径 或 直通磁盘 提升可靠性;如使用原始设备需提前完成映射与权限设置。
- 时间同步
- 使用 chrony 或 NTP 保证节点间时间一致性,避免集群异常与数据一致性问题。
- 内核健康检查
- 加载 hangcheck-timer 模块监控节点健康(示例参数:hangcheck_tick=30,hangcheck_margin=180),超时将触发节点重启保护。
- 防火墙与 SELinux
- 在 RAC 节点间开放 UDP/TCP 相关端口(如 SCAN、VIP、Private Interconnect 等),或临时关闭防火墙;Debian 默认无 SELinux,但需确保 AppArmor 不拦截 Oracle 进程。
- 集群验证
- 使用 olsnodes -n、crsctl check cluster、srvctl status database -d 等命令检查集群与数据库状态,确认资源在线与 VIP/SCAN 正常。