Debian上Oracle集群配置
导读:Debian上Oracle集群配置实操指南 一 架构与前置条件 架构选型:生产环境建议使用Oracle Real Application Clusters(RAC)实现集群内高可用,配合Oracle Data Guard实现跨站点容灾。R...
Debian上Oracle集群配置实操指南
一 架构与前置条件
- 架构选型:生产环境建议使用Oracle Real Application Clusters(RAC)实现集群内高可用,配合Oracle Data Guard实现跨站点容灾。RAC提供多节点并发实例与负载均衡,Data Guard提供主备切换与灾备能力。
- 节点与网络:至少2台服务器;配置公有网络(客户端访问)、私有网络(节点间心跳与缓存融合)、虚拟IP(VIP)与SCAN(单客户端访问名);私有网络建议10Gbps+、节点间延迟≤1ms。
- 共享存储:使用SAN/NAS提供共享磁盘,推荐ASM管理;规划磁盘组:OCR/Voting(表决与注册)、DATA(数据文件/控制文件)、FRA(归档/闪回)。
- 操作系统与软件:建议使用Debian 10+稳定版,安装必要依赖(如libaio1、libgcc1、unixodbc等),并准备Oracle Grid Infrastructure 19c与Oracle Database 19c安装介质。
- 高可用组合:RAC负责集群内高可用与扩展,Data Guard负责跨站点灾难恢复,二者协同构成企业级高可用体系。
二 系统准备与网络存储
- 系统与依赖
- 更新系统并安装依赖包(示例):sudo apt update & & sudo apt upgrade -y;sudo apt install -y libaio1 libgcc1 unixodbc 等(按Oracle 19c官方清单补齐)。
- 用户与目录
- 创建用户与组:sudo groupadd oinstall;sudo groupadd dba;sudo useradd -g oinstall -G dba oracle;为oracle设置强口令。
- 创建目录并授权:/u01/app/oracle(基目录)、/u01/app/grid(GI家目录)、/u02/oradata(共享数据,实际由ASM/存储呈现)。
- 内核与资源限制
- 按Oracle 19c Linux指南设置内核参数(如shmmax/shmall、file-max、sem、aio-max-nr等)、用户级limits(oracle用户的nofile/nproc/stack等)、透明大页THP=never、HugePages按需配置。
- 网络配置
- 规划并固化网卡名称(如eth0/ens3为公有、eth1/ens4为私有),配置**/etc/hosts**(短名/长名/FQDN一致),禁用或放行必要端口(如1521/TCP用于监听,私网端口用于集群通信)。
- 共享存储与ASM
- SAN/NAS映射LUN到两节点,建议使用udev或ASMLib进行持久化设备命名;使用ASM创建OCR/Voting与DATA/FRA磁盘组,确保权限与多路径一致。
三 安装与配置步骤
- 安装Oracle Grid Infrastructure
- 以root执行安装程序(runInstaller),选择集群安装,填写集群节点、SCAN名称与VIP;安装前用cluvfy进行预检:cluvfy stage -pre crsinst -n node1,node2 -fixup。
- 安装完成后按提示在各节点执行root.sh,完成集群栈启动与注册。
- 安装Oracle Database软件
- 在Grid成功节点运行数据库安装程序,选择RAC安装,指定Oracle Home与节点列表,完成软件安装。
- 创建RAC数据库
- 使用DBCA以RAC模式创建数据库,配置数据库名、字符集、SGA/PGA、服务与实例到节点映射;确认控制文件/在线日志/数据文件位于ASM磁盘组。
- 常用管理命令
- 集群启停:crsctl start/stop crs;资源查看:crsctl status resource;数据库启停:srvctl start/stop database -d < db_name> ;监听:srvctl start/stop listener。
四 验证与运维
- 集群与数据库健康检查
- 集群状态:crsctl check crs;资源状态:crsctl status resource;节点应用:crsctl status res -t。
- 数据库状态:srvctl status database -d < db_name> ;实例状态:sqlplus / as sysdba → SELECT instance_name, host_name, status FROM v$instance;
- 高可用测试
- 节点故障转移:停止某节点集群栈或断电,验证VIP漂移、服务迁移与客户端重连;检查告警日志与集群资源恢复情况。
- 监控与日常维护
- 使用OEM或命令行定期巡检(集群、ASM、监听、表空间、告警日志);按计划进行备份与恢复演练、补丁更新与容量评估。
五 常见问题与排错要点
- 安装预检失败:逐项修正内核参数、用户limits、设备权限/多路径、NTP/时间同步、/etc/hosts与DNS解析一致性。
- 私有网络问题:核查链路质量(丢包/延迟)、MTU一致性、防火墙/安全组策略,确保集群心跳与缓存融合带宽与稳定性。
- ASM磁盘识别异常:核对udev/ASMLib规则、多路径WWID一致性、权限(grid:asmadmin)与磁盘组冗余策略。
- SCAN与VIP异常:确认DNS可解析SCAN到3个VIP、客户端tnsnames.ora使用SCAN、VIP与public IP在同一网段且未被占用。
- 性能与稳定性:优先保障低延迟私网与存储IOPS/时延,合理设置SGA/PGA、进程数、HugePages与透明大页,并定期巡检告警日志与ASH/ADDM报告。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian上Oracle集群配置
本文地址: https://pptw.com/jishu/749502.html
