ubuntu

Ubuntu Oracle数据库集群如何搭建

小樊
39
2025-09-21 09:47:19
栏目: 云计算

Ubuntu环境下搭建Oracle RAC集群的详细步骤

一、环境准备

  1. 操作系统配置
    所有节点(至少2台)需安装Ubuntu LTS版本(如22.04 LTS),确保系统已更新至最新补丁;关闭SELinux(setenforce 0)及防火墙(ufw disable),避免网络通信受阻。
  2. 网络配置
    每个节点需配置3类网络
    • 公网IP:用于客户端访问;
    • 私有网络IP(心跳网络):节点间同步数据(如OCR、投票磁盘);
    • 虚拟IP(VIP):集群的浮动IP,当节点故障时自动漂移,确保客户端连接不中断。
      需修改/etc/hosts文件,将节点主机名与IP绑定(如node1 192.168.1.101),并关闭防火墙对集群端口(如1521、4200、42424)的拦截。
  3. 共享存储配置
    使用ASM(Automatic Storage Management)作为共享存储,需准备OCR磁盘(存储集群配置信息)和Data磁盘(存储数据库数据)。可通过以下方式实现:
    • 物理磁盘:直接挂载裸设备(如/dev/sdb/dev/sdc);
    • 虚拟化环境:使用iSCSI或NFS共享存储,确保所有节点能识别同一组磁盘。
      挂载后需确认磁盘UUID(blkid命令),并在/etc/fstab中添加自动挂载配置。
  4. 依赖包安装
    在所有节点上安装Oracle要求的依赖包,可通过以下命令快速安装:
    sudo apt update && sudo apt install -y build-essential libaio1 libaio-dev sysstat unixodbc unixodbc-dev ksh libmotif4 libmotif-dev libxtst6 libxtst-dev libxrender1 libxrender-dev libxrandr2 libxrandr-dev libxi6 libxi-dev libxinerama1 libxinerama-dev libgl1-mesa-dev gawk elfutils libelf-dev
    

二、安装Oracle Grid Infrastructure(集群管理软件)

  1. 上传并解压安装介质
    将Oracle Grid Infrastructure安装包上传至主节点(如/soft目录),解压后进入安装目录。
  2. 运行安装脚本
    执行./runInstaller启动图形化安装向导,选择“集群安装模式”,依次指定:
    • 集群节点列表(如node1,node2);
    • SCAN名称(集群全局唯一,如cluster.example.com);
    • VIP地址(每个节点对应一个虚拟IP);
    • ASM磁盘组名称(如OCRDGDATADG)及存储路径(如/dev/sdb/dev/sdc)。
      安装过程中需输入Oracle Inventory目录(如/u01/app/oraInventory)和操作系统组(如oinstalldba)。
  3. 完成安装
    按照向导完成安装后,以root用户执行/u01/app/oraInventory/orainstRoot.sh/u01/app/grid/root.sh脚本,配置集群环境。

三、安装Oracle RAC数据库软件

  1. 上传并运行安装程序
    将Oracle Database安装包上传至主节点,执行./runInstaller,选择“RAC安装选项”,指定集群节点和Grid Infrastructure安装目录。
  2. 配置数据库实例
    安装完成后,使用DBCA(Database Configuration Assistant)创建RAC数据库,设置数据库名称(如orcl)、字符集(如AL32UTF8)、密码策略等参数,确认实例分布在所有节点上。

四、配置与验证集群

  1. 检查集群状态
    使用crsctl命令验证集群服务是否正常:
    crsctl check cluster  # 检查集群整体状态
    crsctl stat res -t    # 查看集群资源状态(如VIP、ASM实例)
    
    使用srvctl命令验证数据库服务:
    srvctl status database -d orcl  # 检查数据库状态
    srvctl status instance -d orcl -n node1  # 检查指定节点的实例状态
    
  2. 测试故障转移
    手动停止某个节点的Oracle服务(crsctl stop crs),观察VIP是否自动漂移至其他节点,数据库服务是否恢复正常。

五、启动与管理集群

  1. 启动集群
    在任意节点上执行crsctl start crs启动集群服务,所有节点的ASM实例、VIP、数据库实例将自动启动。
  2. 常用管理命令
    • 停止集群:crsctl stop crs
    • 查看集群日志:crsctl query css votedisk(查看投票磁盘)、ocrcheck(查看OCR状态);
    • 管理数据库服务:srvctl start database -d orcl(启动数据库)、srvctl stop instance -d orcl -n node1(停止指定节点实例)。

0
看了该问题的人还看了