温馨提示×

Linux Oracle集群配置方案

小樊
59
2025-10-08 01:12:09
栏目: 云计算

Linux环境下Oracle RAC集群配置方案

一、前期规划与准备

1. 环境要求

  • 操作系统:选择一致的Linux发行版(如Oracle Linux 7.x、RHEL 7/8),确保所有节点系统版本、内核参数一致。
  • 硬件配置:每节点至少2核CPU、8GB内存、100GB以上本地存储(用于安装操作系统和Oracle软件);共享存储(如SAN、iSCSI或NAS)用于存储OCR、投票磁盘及数据库文件。
  • 网络规划:每个节点需配置3类IP地址:
    • 公共IP:用于外部客户端访问;
    • 私有IP(集群互联):用于节点间通信(如心跳检测),建议使用千兆以太网;
    • 虚拟IP(VIP):用于客户端连接的故障转移,确保高可用性。

2. 软件依赖

在所有节点安装Oracle要求的依赖包(以Oracle 19c为例):

yum install -y binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make net-tools smartmontools unixODBC unixODBC-devel

确保依赖包版本符合Oracle官方文档要求,避免安装冲突。

二、系统配置

1. 主机名与解析

  • 设置唯一主机名:每节点配置唯一主机名(如db-node1db-node2),编辑/etc/hostname文件并生效:
    hostnamectl set-hostname db-node1
    
  • 配置hosts文件:编辑/etc/hosts,添加节点名称与IP的映射(包括公共IP、私有IP、VIP、SCAN IP):
    192.168.1.101 db-node1
    192.168.1.102 db-node2
    192.168.1.100 db-scan
    10.0.0.101 db-node1-priv
    10.0.0.102 db-node2-priv
    
    确保所有节点/etc/hosts文件一致,避免DNS解析延迟。

2. 用户与组管理

创建Oracle集群专用用户和组(以grid用户管理Grid Infrastructure,oracle用户管理数据库):

groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 asmadmin
useradd -u 54321 -g oinstall -G dba,asmadmin,oper grid
useradd -u 54324 -g oinstall -G dba asmdba
passwd grid
passwd asmdba

设置用户环境变量(以grid用户为例,编辑~/.bash_profile):

export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/grid
export ORACLE_SID=+ASM1
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib64:/usr/lib64

使环境变量生效:source ~/.bash_profile

三、共享存储配置

Oracle RAC依赖共享存储实现数据同步,常用方式为ASM(Automatic Storage Management),需提前配置共享磁盘:

  • 物理存储:通过SAN、iSCSI或NAS提供共享磁盘(建议使用RAID 10保证性能与冗余)。
  • ASM磁盘识别:在Linux下使用fdisk -l查看共享磁盘(如/dev/sdb/dev/sdc),使用oracleasm工具创建ASM磁盘:
    # 安装oracleasm工具(若未安装)
    yum install -y oracleasm-support oracleasmlib
    # 初始化ASM磁盘
    oracleasm createdisk DATA1 /dev/sdb
    oracleasm createdisk DATA2 /dev/sdc
    oracleasm createdisk OCR1 /dev/sdd
    oracleasm createdisk VOTE1 /dev/sde
    # 查看ASM磁盘状态
    oracleasm listdisks
    
    确保所有节点识别到相同的ASM磁盘。

四、Oracle Grid Infrastructure安装

Grid Infrastructure是Oracle RAC的基础,包含Clusterware(集群管理)和ASM(存储管理):

  1. 下载与解压:从Oracle官网下载Grid Infrastructure安装包(如19c),解压到指定目录:
    unzip LINUX.X64_193000_grid_home.zip -d /u01/app/grid
    
  2. 运行安装向导:以grid用户执行安装脚本:
    su - grid
    cd /u01/app/grid
    ./runInstaller
    
  3. 安装步骤
    • 选择“Configure Oracle Grid Infrastructure for a New Cluster”;
    • 配置集群名称(如rac-cluster),SCAN名称需与hosts文件中的SCAN IP解析一致;
    • 添加所有节点(db-node1db-node2),配置SSH互信(安装向导会自动提示);
    • 选择存储类型(推荐“Automatic Storage Management”),指定OCR磁盘(如OCR1)和投票磁盘(如VOTE1);
    • 完成安装后,运行root.sh脚本(在每个节点执行):
      su -
      /u01/app/grid/root.sh
      
  4. 验证Clusterware状态:使用crsctl命令检查集群状态:
    crsctl stat res -t
    
    正常状态应为“ONLINE”。

五、Oracle RAC数据库创建

  1. 下载与解压:从Oracle官网下载RAC数据库安装包(如19c),解压到指定目录。
  2. 运行DBCA工具:以oracle用户执行dbca(Database Configuration Assistant):
    su - oracle
    dbca
    
  3. 创建步骤
    • 选择“Oracle Real Application Clusters (RAC) Database”;
    • 输入全局数据库名称(如racdb)和SID(如racdb1);
    • 选择“使用现有Grid Infrastructure”;
    • 配置数据库字符集(推荐AL32UTF8)、内存参数(根据服务器配置调整SGA/PGA);
    • 选择存储类型(ASM),指定数据文件、控制文件、重做日志文件的磁盘组(如DATA);
    • 配置备份与恢复选项(建议开启归档模式);
    • 完成创建后,使用srvctl命令验证数据库状态:
      srvctl status database -d racdb
      
      正常状态应为“RUNNING”。

六、高可用性与维护

1. 集群状态监控

  • 使用crsctl命令查看集群资源状态:
    crsctl stat res -t
    
  • 使用srvctl命令管理数据库实例:
    srvctl start database -d racdb  # 启动数据库
    srvctl stop database -d racdb   # 停止数据库
    srvctl status instance -d racdb -i racdb1  # 查看实例状态
    

2. OCR与投票磁盘管理

  • 备份OCR:定期备份OCR内容(自动备份位于$GRID_HOME/cdata/cluster_name),也可手动备份:
    ocrconfig -manualbackup
    
  • 添加投票磁盘:若需增加投票磁盘(确保奇数个),使用以下命令:
    crsctl add css votedisk /dev/sdf1 -force
    

3. 故障转移测试

  • 模拟节点故障:停止某节点的Clusterware服务:
    crsctl stop crs
    
  • 验证VIP是否漂移到其他节点,数据库是否自动切换。

4. 性能优化

  • 调整SGA/PGA:根据数据库负载调整内存参数(如sga_targetpga_aggregate_target);
  • 优化ASM磁盘组:定期检查磁盘组空间使用情况,添加新磁盘以扩展容量;
  • 监控性能:使用Oracle Enterprise Manager(OEM)或第三方工具(如Zabbix)监控集群性能。

注意事项

  • 版本兼容性:确保Oracle Database、Grid Infrastructure与Linux操作系统版本兼容;
  • 备份策略:定期备份OCR、投票磁盘及数据库,建议使用Oracle Secure Backup或第三方工具;
  • 文档记录:记录所有配置步骤、IP地址、主机名等信息,便于后续维护;
  • 安全加固:关闭不必要的服务(如FTP、Telnet),配置防火墙规则限制访问。

0