- 首页 >
- 问答 >
-
云计算 >
- Debian上Oracle集群部署方法
Debian上Oracle集群部署方法
小樊
43
2025-12-23 02:35:51
Debian上Oracle集群部署方法
一 方案选择与总体架构
- 生产可用方案:使用Oracle Grid Infrastructure + Oracle Real Application Clusters(RAC),提供多节点并发访问、负载均衡与故障切换。共享存储建议使用SAN/NAS或等效的块存储,网络需具备公共网(Public)与私网(Private/Interconnect),并配置SCAN名称解析。该方案在Oracle官方支持矩阵中属于标准路径,但操作系统为Debian时需自行承担兼容性与支持边界的管理。
- 快速实验方案:在Oracle VM(OVM)/VirtualBox环境中利用Oracle提供的Deploycluster工具或预制模板快速拉起RAC;此方式便于学习与验证,但官方通常归类为Test/Unsupported场景,不建议直接用于生产。
二 前置条件与系统准备
- 硬件与网络
- 至少2台物理/虚拟服务器,每台建议≥4 GB内存、≥2 CPU、≥80 GB磁盘(实验环境可用更小规格,生产需按负载评估)。
- 网络规划:至少三套地址/接口——Public IP、VIP、Private IP;公共侧配置SCAN与DNS解析;私网用于集群心跳与缓存融合(Cache Fusion),要求低延迟、稳定带宽。
- 共享存储
- 采用SAN/NAS或虚拟化平台提供的共享磁盘/磁盘组,确保各节点对数据文件、OCR/Voting Disk与重做日志等具备一致访问能力。
- 操作系统与工具
- 安装常用工具与依赖:sudo、vim、net-tools、unzip、build-essential、libaio1、libaio-dev、default-jdk、ndctl等。
- 禁用**透明大页(THP)**以避免RAC性能与稳定性问题:
- 立即生效:echo never > /sys/kernel/mm/transparent_hugepage/enabled;echo never > /sys/kernel/mm/transparent_hugepage/defrag
- 持久化:创建systemd服务(ExecStart=/bin/sh -c ‘echo never > /sys/kernel/mm/transparent_hugepage/enabled && echo never > /sys/kernel/mm/transparent_hugepage/defrag’),并启用开机启动。
三 安装与配置步骤
- 通用准备(两节点均执行)
- 创建用户与组:groupadd oinstall;groupadd dba(可按需补充oper/dgdba等);useradd -g oinstall -G dba -m oracle;passwd oracle。
- 创建目录并授权:mkdir -p /u01/app/oracle;chown -R oracle:oinstall /u01;chmod -R 755 /u01。
- 内核参数(/etc/sysctl.conf,示例为常见19c/11g范围,按内存与负载调优):
- 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;执行sysctl -p生效
- 资源限制(/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
- PAM与Shell环境
- /etc/pam.d/login 确保包含:session required pam_limits.so
- oracle用户环境(~/.bashrc 或 /home/oracle/.profile):
- export ORACLE_BASE=/u01/app/oracle
- export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1(按实际版本调整)
- export ORACLE_SID=orcl1(各节点唯一)
- export PATH=$ORACLE_HOME/bin:$PATH;export LD_LIBRARY_PATH=$ORACLE_HOME/lib
- Grid Infrastructure 安装
- 以oracle用户解压GI介质,运行runInstaller创建ASM磁盘组(用于OCR/Voting与数据)、配置Public/VIP/Private网络与SCAN,完成集群栈安装与启动。
- RAC数据库创建
- 使用DBCA在已运行的GI集群上创建RAC数据库(选择OMF、ASM存储、字符集与SGA/PGA等),完成后用srvctl验证集群资源状态。
- 验证与常用命令
- 检查集群:crsctl check cluster;crsctl stat res -t
- 检查数据库:srvctl status database -d <db_name>;srvctl config database -d <db_name>
- 连接测试:sqlplus / as sysdba;select instance_name, host_name, status from gv$instance;
四 实验环境快速部署方案
- 基于Oracle VM模板与Deploycluster
- 在Oracle VM Manager侧准备模板与网络,使用Deploycluster脚本与netconfig.ini批量部署RAC节点(含Public/VIP/Private与SCAN配置),适合快速搭建验证环境。
- 基于VirtualBox的单机多实例
- 创建多个虚拟机或使用多块虚拟磁盘共享,参考社区实践完成Debian + Oracle 19c的基础安装与RAC配置;注意该路径为社区备忘性质,生产不建议直接采用。
五 高可用与运维要点
- 数据保护与容灾
- 结合Oracle Data Guard构建主备库,实现故障自动切换与灾难恢复;可用Broker简化管理与切换流程。
- 监控与自动化
- 使用**Oracle Enterprise Manager(OEM)**集中监控集群与数据库;为启动/停止/切换编写标准化脚本,纳入变更与演练流程。
- 故障排查与优化
- 常见要点:确认SCAN解析与VIP漂移正常、私网丢包/延迟符合预期、ASM磁盘组冗余与健康状态正常、集群告警日志与监听日志无持续错误。
- 支持与合规
- Debian并非Oracle官方认证Linux发行版,部署RAC前请评估支持边界与合规要求;关键生产建议优先选用Oracle Linux/Red Hat Enterprise Linux等受支持平台。