温馨提示×

oracle在centos上如何进行集群配置

小樊
48
2025-12-21 10:34:11
栏目: 云计算

在 CentOS 上部署 Oracle RAC 的实操指南

一 环境规划与准备

  • 节点与网络

    • 至少准备2 台服务器,分别配置Public IP、Virtual IP(VIP)、Private IPSCAN IP;Public/VIP/SCAN 位于同一网段,Private 使用独立网段。
    • 网卡命名在两节点需保持一致(如都使用ens33/ens34),主机名需符合规范(避免使用下划线等特殊字符)。
    • 示例(/etc/hosts):
      • Public:192.168.59.62 rac1、192.168.59.63 rac2
      • VIP:192.168.59.64 rac1-vip、192.168.59.65 rac2-vip
      • Private:192.168.2.62 rac1-priv、192.168.2.63 rac2-priv
      • SCAN:192.168.59.66/67/68 rac-scan(建议至少3 个SCAN 地址,18c 起更推荐)。
  • 共享存储与磁盘组(ASM)

    • 典型规划:
      • OCR+Voting:3 块磁盘,Normal 冗余,单盘≥1G(常用 3–10G)。
      • MGMT(可选 GIMR):External 冗余,建议≥30G
      • DATA:业务数据,External 冗余,容量按业务评估。
      • FRA:归档/闪回,External 冗余。
    • 虚拟化/云平台建议使用厚置备、置零的共享磁盘,并在存储控制器上启用共享总线;如使用 iSCSI,需在各节点添加控制器并映射同一共享磁盘。
  • 软件与版本

    • 常见组合:CentOS 7.x + Oracle 19c/21c(19c 为长期支持版本,21c 功能更新)。
    • 安装介质:下载并校验
      • LINUX.X64_193000_grid_home.zip(19c GI)
      • LINUX.X64_193000_db_home.zip(19c DB)
      • 或 21c 对应 ZIP 包;校验 MD5 确保完整性。

二 操作系统与基础配置

  • 基础安全与服务

    • 关闭防火墙与 SELinux(测试环境常用做法;生产请按需放通端口/服务):
      • systemctl stop firewalld && systemctl disable firewalld
      • sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/’ /etc/selinux/config && setenforce 0
    • 禁用 avahi-daemon(避免多播干扰):
      • systemctl stop avahi-daemon.socket avahi-daemon.service
      • systemctl disable avahi-daemon.socket avahi-daemon.service
    • 时间同步:RAC 使用 CTSS,请停止其他 NTP/Chrony 服务以免冲突。
  • 依赖包与用户/目录

    • 配置本地或内网 YUM 源(挂载 ISO),安装常用依赖:
      • yum -y install bc gcc gcc-c++ binutils make gdb cmake glibc ksh elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc-devel libaio libaio-devel libXrender libX11 libXau sysstat libXi libXtst libgcc librdmacm-devel libstdc++ libstdc+±devel libxcb net-tools nfs-utils compat-libcap1 compat-libstdc++ smartmontools targetcli python python-configshell python-rtslib python-six unixODBC unixODBC-devel iscsi-initiator-utils device-mapper device-mapper-multipath unbound bind-utils
      • 如缺 compat-libstdc+±33,可单独 RPM 安装。
    • 创建用户与组(示例 UID/GID,保持两节点一致):
      • groupadd -g 11001 oinstall;groupadd -g 11002 dba;groupadd -g 11003 oper
      • groupadd -g 11004 backupdba;groupadd -g 11005 dgdba;groupadd -g 11006 kmdba
      • groupadd -g 11007 asmdba;groupadd -g 11008 asmoper;groupadd -g 11009 asmadmin;groupadd -g 11010 racdba
      • useradd -u 11011 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper oracle
      • useradd -u 11012 -g oinstall -G asmadmin,asmdba,asmoper,dba grid
    • 创建目录并授权:
      • mkdir -p /u01/app/{19.0.0/grid,grid,oracle,oracle/product/19.0.0/db_1,oraInventory}
      • chown -R grid:oinstall /u01/app/{grid,19.0.0/grid,oraInventory}
      • chown -R oracle:oinstall /u01/app/oracle
      • chmod -R 775 /u01
    • Grid 预检 RPM:
      • 在 GI 解压目录的 cv/rpm 下执行:rpm -ivh cvuqdisk-1.0.10-1.rpm(两节点)。
  • 内核参数与资源限制

    • 编辑 /etc/security/limits.conf(示例):
      • oracle soft nofile 1024;oracle hard nofile 65536
      • oracle soft nproc 2047;oracle hard nproc 16384
      • grid soft nofile 1024;grid hard nofile 65536
      • grid soft nproc 2047;grid hard nproc 16384
    • 编辑 /etc/sysctl.conf(示例,按内存与业务调整):
      • fs.aio-max-nr = 1048576
      • fs.file-max = 6815744
      • kernel.shmall = 1073741824
      • kernel.shmmax = 4398046511104
      • kernel.shmmni = 4096
      • kernel.sem = 250 32000 100 128
      • net.ipv4.ip_local_port_range = 9000 65500
      • net.core.rmem_default = 262144;net.core.rmem_max = 4194304
      • net.core.wmem_default = 262144;net.core.wmem_max = 1048576
      • 执行 sysctl -p 生效。

三 共享存储与集群前置配置

  • 共享磁盘识别与绑定

    • 方式一(UDEV,推荐):
      • 获取磁盘 SCSI_ID:/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sdX
      • 写入规则(/etc/udev/rules.d/99-oracle-asmdevices.rules):
        • KERNEL==“sd*”, BUS==“scsi”, PROGRAM==“/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name”, RESULT==“”, NAME=“asm-diskX”, OWNER=“grid”, GROUP=“asmadmin”, MODE=“0660”
      • 生效:/sbin/start_udev(重启后再次验证)。
    • 方式二(多路径):安装 device-mapper-multipath,配置多路径聚合后,再按多路径设备名进行 UDEV 绑定。
  • 用户互信与目录同步

    • 配置 grid/oracle 用户的 SSH 互信(两节点互相免密),便于 OUI/静默安装节点间操作。
    • 仅在 节点1 解压 GI/DB 安装介质,完成后将 GI 的 cvuqdisk RPM 拷贝至节点2安装;其余目录可按需同步。

四 安装 Grid Infrastructure 与创建 ASM 磁盘组

  • 图形化安装(OUI)

    • grid 用户执行:/u01/app/19.0.0/grid/runInstaller
    • 选择 Install and Configure Grid Infrastructure,高级安装;在“Cluster Configuration”添加两节点,配置网卡角色(Public/Private),设置 SCAN 名称与地址(与 /etc/hosts 一致)。
    • 存储选择 Oracle ASM,使用 ASMCA 创建磁盘组(如:OCR、MGMT、DATA、FRA),完成后返回 OUI 继续。
    • 安装过程中在两节点依次执行 root.sh;安装完成用 crsctl/cvutl 等工具做集群健康检查。
  • 静默安装(可选)

    • 使用响应文件执行 gridSetup.sh(或 runInstaller -silent -responseFile ),配合 SSH 互信与预检通过后进行无人值守安装;同样在 root 下执行脚本完成集群栈配置。

五 安装数据库软件与创建 RAC 数据库

  • 安装数据库软件

    • oracle 用户执行:/u01/app/oracle/product/19.0.0/db_1/runInstaller(或 dbca 静默模式),选择仅安装软件(不含实例)。
    • 完成后执行 root.sh(如有),确保 ORACLE_HOME 与 ORACLE_BASE 权限正确。
  • 创建 RAC 数据库(DBCA)

    • 图形化:dbca -silent -createDatabase …(选择 RAC、目标 ASM 磁盘组、字符集、SGA/PGA、EM 等);或交互式 DBCA 配置。
    • 静默:准备响应文件,指定集群、实例数量、服务名、存储、内存参数等,一键创建。
  • 验证与常见问题

    • 集群状态:crsctl stat res -t;监听:srvctl status listener;SCAN:nslookup rac-scan;实例:srvctl status database -d <db_name>
    • 常见排错要点:
      • 网卡名不一致、/etc/hosts 解析错误会导致 VIP/SCAN 异常;
      • 共享磁盘未正确共享或未通过 UDEV/多路径绑定,会导致 ASM 磁盘不可见;
      • 未停止 NTP/Chrony 会与 CTSS 冲突,影响节点时间同步;
      • 防火墙/SELinux 未关闭或放通不全,会影响节点间通信与表决盘访问。

0