Linux Oracle数据库集群搭建步骤
导读:Linux Oracle RAC 搭建步骤 一 规划与准备 节点与网络 至少准备2台相同配置的服务器(物理机或虚拟机),每台至少2块网卡:一块用于Public(客户端访问),一块用于Private(节点间心跳与缓存融合)。 规划地址:P...
Linux Oracle RAC 搭建步骤
一 规划与准备
- 节点与网络
- 至少准备2台相同配置的服务器(物理机或虚拟机),每台至少2块网卡:一块用于Public(客户端访问),一块用于Private(节点间心跳与缓存融合)。
- 规划地址:Public IP、Virtual IP(VIP)、Private IP、SCAN IP;建议通过DNS或GNS解析SCAN,生产环境不建议仅用/etc/hosts。示例(/etc/hosts):
- 192.168.225.20 oracle01
- 192.168.225.21 oracle02
- 192.168.225.22 oracle01-vip
- 192.168.225.23 oracle02-vip
- 10.0.100.20 oracle01-priv
- 10.0.100.21 oracle02-priv
- 192.168.225.24 oracle-scan
- 时间同步:生产使用CTSS或企业级NTP;实验环境可先停用其他时间服务(如chronyd/ntpd),避免与CTSS冲突。
- 共享存储
- 选择ASM作为共享存储(推荐)或ACFS;准备用于OCR/Voting与数据/归档的磁盘或LUN,确保多路径与权限正确。
- 软件与目录
- 操作系统建议:Oracle Linux 7/8或RHEL 7/8;示例以CentOS 7.6 + Oracle 19c演示。
- 创建用户与组(示例ID,保持两节点一致):
- 组:oinstall(11001)、dba(11002)、oper(11003)、backupdba(11004)、dgdba(11005)、kmdba(11006)、asmdba(11007)、asmoper(11008)、asmadmin(11009)、racdba(11010)
- 用户:oracle(11011)、grid(11012)
- 目录(示例):
- /u01/app/19.0.0/grid(Grid home)、/u01/app/grid、/u01/app/oracle、/u01/app/oracle/product/19.0.0/db_1、/u01/app/oraInventory
- 软件包:安装Oracle依赖(bc、gcc、gcc-c++、binutils、make、glibc、ksh、elfutils-libelf、libaio、libaio-devel、libXrender、libX11、libXtst、libstdc++、libstdc+±devel、sysstat、unixODBC、unixODBC-devel、device-mapper-multipath、targetcli、iscsi-initiator-utils 等);Grid安装介质需包含cvuqdisk RPM。
二 系统初始化与依赖
- 基础环境
- 关闭不必要服务(实验环境):
- systemctl stop firewalld & & systemctl disable firewalld
- sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/’ /etc/selinux/config & & setenforce 0
- systemctl stop avahi-daemon.socket avahi-daemon.service & & systemctl disable avahi-daemon.socket avahi-daemon.service
- 配置**/etc/hosts**(见上节示例),确保节点名可互相解析。
- 关闭不必要服务(实验环境):
- 软件与权限
- 配置本地或内网YUM源,安装依赖包;如缺少compat-libstdc+±33,单独RPM安装。
- 上传并解压安装介质(仅节点1执行):
- Grid:/u01/app/19.0.0/grid 解压 LINUX.X64_193000_grid_home.zip
- DB:/u01/app/oracle/product/19.0.0/db_1 解压 LINUX.X64_193000_db_home.zip
- 调整目录属主与权限(两节点):
- chown -R grid:oinstall /u01/app/grid /u01/app/19.0.0/grid /u01/app/oraInventory
- chown -R oracle:oinstall /u01/app/oracle
- chmod -R 775 /u01
- 安装cvuqdisk(两节点):
- cd /u01/app/19.0.0/grid/cv/rpm & & rpm -ivh cvuqdisk-1.0.10-1.rpm
- 用户与SSH互信
- 配置oracle与grid用户的SSH免密登录(两节点互相免密),便于OUI与集群部署自动化。
三 安装 Grid Infrastructure
- 前置检查
- 使用**Cluster Verification Utility(CVU)**进行预检(Grid home/bin/cvu),修复报错后再安装:
- 示例:./runcluvfy.sh stage -pre crsinst -n oracle01,oracle02 -verbose
- 使用**Cluster Verification Utility(CVU)**进行预检(Grid home/bin/cvu),修复报错后再安装:
- 安装步骤
- 在节点1以grid用户执行:/u01/app/19.0.0/grid/runInstaller
- 选择“Install and Configure Grid Infrastructure for a Cluster”,安装类型选Advanced(便于自定义网络与ASM角色)。
- 集群配置:输入Cluster Name、SCAN Name与SCAN IP(生产建议DNS/GNS),选择Public/Private网卡,配置OCR与Voting存储(推荐ASM磁盘组)。
- 执行root脚本(按提示在两节点依次执行):
- /u01/app/oraInventory/orainstRoot.sh
- /u01/app/grid/root.sh
- 安装完成后确认集群资源:
- crsctl stat res -t
- olsnodes -n
- srvctl config scan
- srvctl status listener
- 存储配置
- 使用ASMCA创建磁盘组(如:DATA、FRA),分别用于数据文件与快速恢复区。
四 安装 Oracle RAC 数据库软件与创建数据库
- 安装数据库软件
- 在节点1以oracle用户执行:/u01/app/oracle/product/19.0.0/db_1/runInstaller
- 选择“Install Oracle Database software only”,勾选Oracle Real Application Clusters,选择目标节点,指定Oracle Base/Home。
- 执行root脚本(按提示在两节点依次执行):
- /u01/app/oracle/product/19.0.0/db_1/root.sh
- 创建RAC数据库(DBCA)
- 运行:dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbName < db_unique_name> -sid < db_name> -sysPassword -systemPassword -characterSet AL32UTF8 -nationalCharacterSet AL16UTF16 -storageType ASM -diskGroupName DATA -recoveryAreaDestination +FRA -emConfiguration NONE -nodeNames “oracle01,oracle02” -instanceNames “< db_name> 1,< db_name> 2” -createAsContainerDatabase false
- 完成后验证:
- srvctl config database -d < db_unique_name>
- srvctl status database -d < db_unique_name>
- sqlplus / as sysdba 连接任一实例,确认实例状态与服务分布。
五 验证与运维要点
- 集群与监听
- crsctl stat res -t(资源状态)、crsctl check cluster(集群健康)、olsnodes -n(节点列表)、srvctl status listener(监听)、srvctl status scan_listener(SCAN监听)。
- 存储与归档
- asmcmd lsdg(查看磁盘组)、asmcmd lsdsk(查看磁盘);如需归档,使用SQL*Plus开启并指向**+FRA**。
- 故障转移测试
- 通过客户端连接SCAN执行查询,手动停止某节点实例或网络,验证VIP漂移与服务自动切换是否正常。
- 日常管理
- 使用srvctl管理数据库、实例、监听与服务;使用crsctl管理集群资源;建议接入OEM进行监控与告警。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux Oracle数据库集群搭建步骤
本文地址: https://pptw.com/jishu/771078.html
