ubuntu

Ubuntu Oracle集群搭建方法是什么

小樊
42
2025-09-27 18:42:46
栏目: 云计算

Ubuntu环境下搭建Oracle Real Application Clusters (RAC)集群的步骤

一、安装前准备

1. 操作系统要求

确保所有集群节点(至少2台)安装Ubuntu 16.04 LTS及以上版本(推荐Ubuntu 20.04 LTS或22.04 LTS),并完成最小化安装(避免不必要的软件包冲突)。

2. 网络配置

3. 存储配置

4. 依赖包安装

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

sudo apt update
sudo apt install -y automake autotools-dev binutils bzip2 elfutils expat gawk gcc gcc-multilib g++-multilib libaio1 libaio-dev libelf-dev libssl-dev unixodbc unixodbc-dev ksh sysstat libtool-ltdl-dev

二、安装Oracle Grid Infrastructure(集群基础软件)

Oracle Grid Infrastructure(GI)是Oracle RAC的核心组件,负责管理集群节点、资源(如数据库实例、监听器)和高可用性。

1. 创建软件目录

在主节点(如node1)创建Oracle软件安装目录和临时目录:

sudo mkdir -p /u01/app/oracle/product/19.0.0/grid
sudo mkdir -p /u01/app/oracle/diag/asm
sudo chown -R oracle:oinstall /u01
sudo chmod -R 775 /u01

2. 上传并解压安装介质

从Oracle官网下载Oracle Grid Infrastructure for a Cluster安装包(.zip格式),上传至主节点的/soft目录,解压后进入安装目录:

unzip linuxx64_193000_grid_home.zip -d /soft
cd /soft/grid

3. 配置响应文件(静默安装)

复制响应文件模板并修改关键参数(如oracle_install_userinventory_locationcluster_nodes):

cp -r /soft/grid/response /soft/grid/response_grid
vi /soft/grid/response/response_grid

修改示例:

oracle_install_user="oracle"
inventory_location="/u01/app/oraInventory"
cluster_nodes="node1,node2"
oracle_base="/u01/app/oracle"
oracle_home="/u01/app/oracle/product/19.0.0/grid"

4. 执行静默安装

使用oracle用户执行安装命令:

su - oracle
./runInstaller -silent -responseFile /soft/grid/response/response_grid

安装完成后,运行根脚本(在每个节点上执行):

sudo /u01/app/oraInventory/orainstRoot.sh
sudo /u01/app/oracle/product/19.0.0/grid/root.sh

三、安装Oracle Database软件(RAC数据库)

1. 配置环境变量

编辑oracle用户的~/.bashrc文件,添加以下内容(替换为实际路径):

export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

使环境变量生效:

source ~/.bashrc

2. 静默安装Oracle Database

复制响应文件模板并修改参数(如cluster_databasedatabase_nameinstance_name):

cp -r /soft/database/response /soft/database/response_db
vi /soft/database/response/response_db

修改示例:

oracle_install_user="oracle"
inventory_location="/u01/app/oraInventory"
cluster_database="TRUE"
database_name="orcl"
instance_name="orcl1"
oracle_base="/u01/app/oracle"
oracle_home="/u01/app/oracle/product/19.0.0/dbhome_1"

执行安装命令:

./runInstaller -silent -responseFile /soft/database/response/response_db

安装完成后,运行根脚本:

sudo /u01/app/oraInventory/orainstRoot.sh
sudo /u01/app/oracle/product/19.0.0/dbhome_1/root.sh

四、配置Oracle RAC数据库

1. 使用DBCA创建数据库

通过oracle用户执行DBCA(Database Configuration Assistant)命令:

dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbName orcl -sid orcl1 -createAsContainerDatabase false -datafileDestination /u01/app/oracle/oradata -storageType ASM -asmSysPassword YourPassword -sysPassword YourPassword -systemPassword YourPassword -emConfiguration NONE

2. 配置监听器

使用netca命令配置监听器(支持RAC的监听器):

netca -silent -responseFile /u01/app/oracle/product/19.0.0/dbhome_1/assistants/netca/netca.rsp

修改listener.ora文件(位于$ORACLE_HOME/network/admin),添加LOCAL_LISTENERREMOTE_LISTENER参数:

LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip)(PORT = 1521))
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1)
      (SID_NAME = orcl1)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1)
      (SID_NAME = orcl2)
    )
  )

LOCAL_LISTENER = (ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 1521))
REMOTE_LISTENER = (ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip)(PORT = 1521))

五、启动和管理集群

1. 启动集群

使用crsctl命令启动Oracle Clusterware(集群软件):

crsctl start crs

查看集群状态:

crsctl status crs

2. 验证RAC功能

六、注意事项

0
看了该问题的人还看了