05 手把手部署Oracle 19c RAC——2节点实例安装全流程(图形化+静默)

来源:这里教程网 时间:2026-03-03 23:30:44 作者:

05 手把手部署Oracle 19c RAC——2节点实例安装全流程(图形化+静默) 一、RAC核心基础:共享存储与ASM磁盘组规划 1.1 网络规划(RAC专属,三网分离) 1.2 节点互信配置(RAC必需,免密登录) 1.3 ASM共享磁盘组规划与创建 1.3.1 磁盘组规划(生产环境标准) 1.3.2 共享磁盘配置(两节点同步操作) 1.3.3 ASM磁盘标记与磁盘组创建 二、图形化安装:新手友好,RAC配置可视化 2.1 前置:VNC配置与Grid软件解压 2.2 步骤1:安装Grid Infrastructure(集群核心) 2.3 步骤2:安装Oracle数据库软件(两节点同步) 2.4 步骤3:创建RAC数据库(DBCA图形化) 三、静默安装:生产首选,RAC自动化部署 3.1 核心响应文件准备(节点1,grid/oracle用户) 3.1.1 grid_install.rsp(关键参数) 3.1.2 dbca.rsp(RAC数据库配置) 3.2 静默安装全流程(节点1执行,同步到节点2) 3.2.1 安装Grid Infrastructure(grid用户) 3.2.2 安装Oracle数据库软件(oracle用户) 3.2.3 配置监听与创建数据库 3.3 生产环境静默安装完整脚本(含注释) 3.4 RAC安装常见错误及解决办法 四、RAC安装后验证:确保集群高可用 4.1 集群状态验证(grid用户,节点1) 4.2 ASM磁盘组验证(grid用户) 4.3 数据库实例与监听验证(oracle用户) 4.4 数据库连接测试(本地+远程) 4.5 故障转移测试(核心高可用验证) 五、RAC部署的核心要点

05 手把手部署Oracle 19c RAC——2节点实例安装全流程(图形化+静默)

“单实例数据库扛不住业务峰值了,想上RAC却被集群配置吓退”——这是很多运维同学的共性困扰。Oracle RAC(实时应用集群)凭借高可用、负载均衡的特性,成为生产环境的“刚需配置”,但2节点部署涉及共享存储、集群通信、节点同步等复杂环节,比单实例门槛高不少。

今天这篇指南,把19c RAC 2节点安装讲透:从ASM共享磁盘组规划、节点间互信配置,到图形化的点点操作、静默安装的脚本编写,每一步都标注“RAC专属要点”,连新手也能跟着完成部署。文末附上生产级脚本和常见故障解决办法,让你少踩90%的坑!

前置说明:RAC部署需2台配置一致的服务器(节点1:rac01,节点2:rac02),提前完成硬件检查(CPU≥8核、内存≥32GB、硬盘≥500GB)、操作系统配置(CentOS 7.9最佳)及网络规划(公网、私网、存储网三网分离)。

一、RAC核心基础:共享存储与ASM磁盘组规划

RAC与单实例的核心差异是“共享存储”——2个节点需访问同一套ASM磁盘组,因此磁盘规划和集群通信配置是部署的重中之重。这一步没做好,后续安装必然报错。

1.1 网络规划(RAC专属,三网分离)

RAC依赖三种网络实现不同功能,必须提前配置并确保通信正常,建议用bonding提升稳定性。以节点1(rac01)为例,网络配置如下:

网络类型 网卡配置 IP地址 用途 节点2对应配置
公网(Public) bond0(eth0+eth1) 192.168.1.101 客户端访问、节点对外通信 192.168.1.102
私网(Private) bond1(eth2+eth3) 10.0.0.101 节点间心跳通信、缓存同步 10.0.0.102
存储网(Storage) bond2(eth4+eth5) 172.16.0.101 访问共享存储(ASM磁盘) 172.16.0.102
VIP(虚拟IP) bond0:1 192.168.1.103 故障转移时自动漂移 192.168.1.104
配置完成后,在两个节点执行以下命令验证通信(均需通):

# 公网通信验证


ping 
192.168.1.102 
-c 
3


# 私网通信验证(延迟需<1ms)


ping 
10.0.0.102 
-c 
3


# 存储网通信验证


ping 
172.16.0.102 
-c 
3

1.2 节点互信配置(RAC必需,免密登录)

RAC安装过程中,节点间需频繁传输文件,必须配置oracle用户和grid用户的互信。以oracle用户为例,操作步骤如下(节点1执行):


# 生成密钥对(一路回车)


su 
- oracle

ssh-keygen 
-t rsa





# 将公钥复制到本地和节点2

ssh-copy-id rac01

ssh-copy-id rac02





# 验证互信(节点1登录节点2无需密码)


ssh rac02 date


# 节点2执行相同操作,确保双向互信

grid用户互信配置与oracle用户完全一致,需分别执行。

1.3 ASM共享磁盘组规划与创建

RAC的ASM磁盘组必须是共享存储(如FC SAN、iSCSI),两个节点都能识别到相同的磁盘。推荐创建4个磁盘组,满足集群和数据库需求:

1.3.1 磁盘组规划(生产环境标准)

磁盘组名称 容量 存储内容 冗余模式 磁盘标识
OCRVOTING 50GB OCR(集群注册表)、投票盘 Normal(至少2块盘,RAC必需) ASM_OCR_01、ASM_OCR_02
DATA 200GB 数据库数据文件、控制文件 External(依赖存储RAID) ASM_DATA_01、ASM_DATA_02
RECO 300GB 归档日志、备份集 External ASM_RECO_01、ASM_RECO_02
GRID 100GB Grid Infrastructure软件 External ASM_GRID_01、ASM_GRID_02

1.3.2 共享磁盘配置(两节点同步操作)

以iSCSI共享存储为例,先在存储服务器配置目标端,再在两个节点安装iSCSI客户端并发现磁盘:


# 两节点均执行:安装iSCSI客户端

yum install 
-y iscsi-initiator-utils





# 配置initiator名称(与存储端一致)


echo 
"InitiatorName=iqn.2025-05.com.oracle:rac01" > /etc/iscsi/initiatorname.iscsi

systemctl 
restart iscsid





# 发现并登录存储端

iscsiadm 
-m discovery 
-t st 
-p 
172.16.0.200  
# 存储服务器IP

iscsiadm 
-m 
node 
-l





# 查看共享磁盘(两节点应看到相同的/dev/sdb- /dev/sde)

lsblk

1.3.3 ASM磁盘标记与磁盘组创建

在节点1执行以下操作,节点2会自动同步(需先安装grid软件依赖):


# 安装ASM依赖包(root用户,两节点均执行)

yum install 
-y oracleasm-support oracleasmlib oracleasm-
`uname -r`





# 初始化ASM(仅节点1执行)

oracleasm init

oracleasm configure 
-i  
# 输入oracle用户、oinstall组





# 标记共享磁盘(节点1执行,节点2自动识别)

oracleasm createdisk ASM_OCR_01 /dev/sdb1

oracleasm createdisk ASM_OCR_02 /dev/sdc1

oracleasm createdisk ASM_DATA_01 /dev/sdd1

oracleasm createdisk ASM_RECO_01 /dev/sde1





# 两节点验证磁盘(均显示AVAILABLE)

oracleasm listdisks





# 创建磁盘组(grid用户,节点1执行)


su 
- grid

asmca 
-silent 
-createDiskGroup 
-diskGroupName OCRVOTING 
-diskList /dev/oracleasm/disks/ASM_OCR_01,/dev/oracleasm/disks/ASM_OCR_02 
-redundancy NORMAL

asmca 
-silent 
-createDiskGroup 
-diskGroupName DATA 
-diskList /dev/oracleasm/disks/ASM_DATA_01 
-redundancy EXTERNAL

二、图形化安装:新手友好,RAC配置可视化

RAC图形化安装需先装Grid Infrastructure(集群基础软件),再装Oracle数据库软件,最后创建RAC数据库。核心是通过VNC连接节点1,完成两节点配置同步。

2.1 前置:VNC配置与Grid软件解压


# 节点1安装VNC(root用户)

yum install 
-y tigervnc-server


su 
- grid

vncserver  
# 设置密码,记录端口:1





# 本地用VNC Viewer连接rac01:1,进入图形界面


# 解压Grid和Oracle软件(节点1,grid用户)

unzip /tmp/gridSetup.zip 
-d /u01/app/grid/19.3.0

unzip /tmp/LINUX.X64_193000_db_home.zip 
-d /u01/app/oracle/product/19.3.0/dbhome_1

2.2 步骤1:安装Grid Infrastructure(集群核心)


# grid用户执行,启动Grid安装向导


cd /u01/app/grid/19.3.0

./gridSetup.sh

启动后按以下步骤操作,关键配置项重点标注:

  1. 选择安装类型 :“Configure Oracle Grid Infrastructure for a New Cluster”(新建集群)。

  2. 集群名称与节点配置 :  

  3. 集群名称:rac-cluster(自定义,两节点统一);

  4. SCAN名称:rac-scan(默认,对应SCAN IP:192.168.1.105);

  5. 添加节点:输入节点2名称rac02,点击“SSH Connectivity”,输入oracle/grid用户密码自动配置互信。

  6. 网络配置 :按规划选择网卡,对应公网、私网、存储网,系统自动识别IP。

  7. 存储配置(RAC核心) :选择“Use Oracle Automatic Storage Management”,点击“Create ASM Disk Group”,选择OCRVOTING磁盘组,输入ASM SYS密码(如Asm_123#)。

  8. 软件安装路径 :Grid基目录/u01/app/grid,软件目录/u01/app/grid/19.3.0。

  9. 先决条件检查 :忽略“Swap大小警告”(32GB内存可设16GB Swap),其他报错需修复(如依赖包缺失,执行yum安装)。

  10. 执行安装 :过程中按提示在两节点执行root脚本(/u01/app/grid/19.3.0/root.sh),执行完成后点击“OK”,等待安装完成。

2.3 步骤2:安装Oracle数据库软件(两节点同步)


# oracle用户执行,启动数据库安装向导


cd /u01/app/oracle/product/19.3.0/dbhome_1

./runInstaller

关键步骤:

  • 安装类型 :“Install database software only”(仅装软件)。

  • 集群节点配置 :自动识别rac01和rac02,确认两节点均在列表中。

  • 数据库版本 :企业版(Enterprise Edition)。

  • 安装路径 :与Grid路径区分,Oracle基目录/u01/app/oracle。

  • 执行安装 :在两节点执行root脚本(/u01/app/oracle/product/19.3.0/dbhome_1/root.sh)。

    2.4 步骤3:创建RAC数据库(DBCA图形化)

    
    # oracle用户执行,启动DBCA
    
    dbca

    核心配置项(RAC专属):

    1. 数据库类型 :“Create a database”,选择“Oracle Real Application Clusters Database”。

    2. 数据库标识

    3. 全局数据库名:racdb(两节点统一);

    4. SID前缀:racdb(节点1实例racdb1,节点2自动为racdb2)。

    5. 存储配置 :选择“ASM”,数据文件路径+DATA,恢复区路径+RECO。

    6. 字符集与内存 :  

    7. 字符集:AL32UTF8(支持所有语言);

    8. 内存分配:物理内存的50%(32GB内存分配16GB,两节点自动均分)。

    9. 节点配置 :确认rac01和rac02均为“Selected Nodes”,实例名自动生成。

    点击“Finish”开始创建数据库,约30分钟后完成,两节点实例自动启动。

    三、静默安装:生产首选,RAC自动化部署

    生产环境RAC部署推荐静默方式,核心是编写Grid和Oracle的响应文件,实现“无人值守”安装。需先在节点1完成配置,通过脚本同步到节点2。

    3.1 核心响应文件准备(节点1,grid/oracle用户)

    RAC静默安装需4个核心响应文件:grid_install.rsp(Grid安装)、db_install.rsp(Oracle软件安装)、dbca.rsp(数据库创建)、netca.rsp(监听配置)。模板路径在软件解压后的response目录。

    3.1.1 grid_install.rsp(关键参数)

    
    # 复制模板并修改
    
    
    cp /u01/app/grid/19.3.0/response/grid_install.rsp /tmp/rsp/
    
    
    vi /tmp/rsp/grid_install.rsp
    
    
    
    
    
    # 核心参数
    
    oracle.install
    .option
    =CRS_CONFIG
    
    
    ORACLE_BASE
    =/u01/app/grid
    
    
    ORACLE_HOME
    =/u01/app/grid/19.3.0
    
    oracle.install.asm.asmDiskGroup
    .name
    =OCRVOTING
    
    oracle.install.asm.asmDiskGroup
    .redundancy
    =NORMAL
    
    oracle.install.asm.diskGroup
    .diskList
    =/dev/oracleasm/disks/ASM_OCR_01,/dev/oracleasm/disks/ASM_OCR_02
    
    oracle.install.crs.config
    .clusterName
    =rac-cluster
    
    oracle.install.crs.config
    .clusterNodes
    =rac01:rac01-vip,rac02:rac02-vip
    
    oracle.install.crs.config
    .scanName
    =rac-scan
    
    oracle.install.crs.config
    .scanIPs
    =
    192.168.1.105
    
    oracle.install.crs.config
    .networkInterfaceList
    =eth0:192.168.1.0:public,eth2:10.0.0.0:private

    3.1.2 dbca.rsp(RAC数据库配置)

    
    cp /u01/app/oracle/product/19.3.0/dbhome_1/assistants/dbca/dbca.rsp /tmp/rsp/
    
    
    vi /tmp/rsp/dbca.rsp
    
    
    
    
    
    # 核心参数
    
    
    operationType
    =createDatabase
    
    createDatabase
    .type
    =RAC
    
    
    gdbName
    =racdb
    
    
    sid
    =racdb
    
    
    sysPassword
    =Oracle123
    #
    
    
    systemPassword
    =Oracle123
    #
    
    
    storageType
    =ASM
    
    
    datafileDestination
    =+DATA
    
    
    recoveryAreaDestination
    =+RECO
    
    
    characterSet
    =AL32UTF8
    
    
    totalMemory
    =
    16384  
    # 16GB(两节点各8GB)
    
    
    nodes
    =rac01,rac02  
    # 集群节点

    3.2 静默安装全流程(节点1执行,同步到节点2)

    3.2.1 安装Grid Infrastructure(grid用户)

    
    # 节点1执行,静默安装Grid
    
    
    su 
    - grid
    
    
    cd /u01/app/grid/19.3.0
    
    ./gridSetup.sh 
    -silent 
    -responseFile /tmp/rsp/grid_install.rsp 
    -ignorePrereq
    
    
    
    
    
    # 安装过程监控日志
    
    tail 
    -f /u01/app/grid/oraInventory/logs/installActions*.log
    
    
    
    
    
    # 按提示在两节点执行root脚本(节点1先执行)
    
    
    su 
    - root
    
    /u01/app/grid/19.3.0/root.sh
    
    
    ssh rac02 
    "/u01/app/grid/19.3.0/root.sh"
    
    
    
    
    
    # 验证Grid状态(两节点均为SUCCESS)
    
    crsctl check cluster 
    -all

    3.2.2 安装Oracle数据库软件(oracle用户)

    
    # 节点1执行,静默安装Oracle软件
    
    
    su 
    - oracle
    
    
    cd /u01/app/oracle/product/19.3.0/dbhome_1
    
    ./runInstaller 
    -silent 
    -responseFile /tmp/rsp/db_install.rsp 
    -ignorePrereq
    
    
    
    
    
    # 两节点执行root脚本
    
    
    su 
    - root
    
    /u01/app/oracle/product/19.3.0/dbhome_1/root.sh
    
    
    ssh rac02 
    "/u01/app/oracle/product/19.3.0/dbhome_1/root.sh"

    3.2.3 配置监听与创建数据库

    
    # 配置监听(两节点同步,oracle用户)
    
    netca 
    -silent 
    -responseFile /tmp/rsp/netca.rsp
    
    
    
    
    
    # 静默创建RAC数据库(节点1,oracle用户)
    
    dbca 
    -silent 
    -responseFile /tmp/rsp/dbca.rsp
    
    
    
    
    
    # 监控数据库创建日志
    
    tail 
    -f /u01/app/oracle/cfgtoollogs/dbca/racdb/racdb.log

    3.3 生产环境静默安装完整脚本(含注释)

    
    #!/bin/bash
    
    
    # Oracle 19c RAC 2节点静默安装脚本
    
    
    # 适用环境:CentOS 7.9,两节点rac01/rac02,已完成网络和共享存储配置
    
    
    
    
    
    # 全局变量(根据实际环境修改)
    
    
    GRID_BASE
    =/u01/app/grid
    
    
    GRID_HOME
    =
    $GRID_BASE/19.3.0
    
    
    ORACLE_BASE
    =/u01/app/oracle
    
    
    ORACLE_HOME
    =
    $ORACLE_BASE/product/19.3.0/dbhome_1
    
    
    RSP_DIR
    =/tmp/rsp
    
    
    GRID_FILE
    =/tmp/gridSetup.zip
    
    
    ORACLE_FILE
    =/tmp/LINUX.X64_193000_db_home.zip
    
    
    SYS_PWD
    =Oracle123
    #
    
    
    ASM_PWD
    =Asm_123
    #
    
    
    CLUSTER_NAME
    =rac-cluster
    
    
    NODES
    =
    "rac01 rac02"
    
    
    
    
    
    # 1. 节点1:创建目录并解压软件(root用户)
    
    
    mkdir 
    -p 
    $GRID_HOME 
    $ORACLE_HOME 
    $RSP_DIR
    
    
    chown 
    -R grid:oinstall 
    $GRID_BASE
    
    
    chown 
    -R oracle:oinstall 
    $ORACLE_BASE
    
    
    su 
    - grid 
    -c 
    "unzip 
    $GRID_FILE
     -d 
    $GRID_HOME
    "
    
    
    su 
    - oracle 
    -c 
    "unzip 
    $ORACLE_FILE
     -d 
    $ORACLE_HOME
    "
    
    
    
    
    
    # 2. 两节点:安装依赖包(root用户,节点1执行后同步到节点2)
    
    yum install 
    -y binutils compat-libcap1 glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libgcc libstdc
    ++ libstdc
    ++
    -devel libxcb 
    make oracleasm-support oracleasmlib
    
    
    for 
    node 
    in 
    $NODES; 
    do
    
      
    if [ 
    $node !
    = 
    "rac01" ]; 
    then
    
        scp 
    -r /etc/yum.repos.d/* 
    $node:/etc/yum.repos.d/
    
        
    ssh 
    $node 
    "yum install -y binutils compat-libcap1 glibc"
    
      
    fi
    
    
    done
    
    
    
    
    
    # 3. 节点1:配置ASM磁盘组(grid用户)
    
    
    su 
    - grid 
    -c 
    "asmca -silent -createDiskGroup -diskGroupName OCRVOTING -diskList /dev/oracleasm/disks/ASM_OCR_01,/dev/oracleasm/disks/ASM_OCR_02 -redundancy NORMAL"
    
    
    su 
    - grid 
    -c 
    "asmca -silent -createDiskGroup -diskGroupName DATA -diskList /dev/oracleasm/disks/ASM_DATA_01 -redundancy EXTERNAL"
    
    
    
    
    
    # 4. 节点1:准备响应文件(grid用户)
    
    
    su 
    - grid 
    -c 
    "cp 
    $GRID_HOME
    /response/grid_install.rsp 
    $RSP_DIR
    /"
    
    
    su 
    - grid 
    -c 
    "sed -i 's/oracle.install.option=.*/oracle.install.option=CRS_CONFIG/' 
    $RSP_DIR
    /grid_install.rsp"
    
    
    su 
    - grid 
    -c 
    "sed -i 's/ORACLE_BASE=.*/ORACLE_BASE=
    $GRID_BASE
    /' 
    $RSP_DIR
    /grid_install.rsp"
    
    
    su 
    - grid 
    -c 
    "sed -i 's/oracle.install.crs.config.clusterName=.*/oracle.install.crs.config.clusterName=
    $CLUSTER_NAME
    /' 
    $RSP_DIR
    /grid_install.rsp"
    
    
    
    
    
    # 5. 节点1:安装Grid(grid用户)
    
    
    su 
    - grid 
    -c 
    "
    $GRID_HOME
    /gridSetup.sh -silent -responseFile 
    $RSP_DIR
    /grid_install.rsp -ignorePrereq"
    
    
    
    
    
    # 6. 两节点:执行Grid root脚本(root用户)
    
    
    for 
    node 
    in 
    $NODES; 
    do
    
      
    ssh 
    $node 
    "
    $GRID_HOME
    /root.sh"
    
    
    done
    
    
    
    
    
    # 7. 节点1:安装Oracle软件(oracle用户)
    
    
    su 
    - oracle 
    -c 
    "cp 
    $ORACLE_HOME
    /assistants/dbca/dbca.rsp 
    $RSP_DIR
    /"
    
    
    su 
    - oracle 
    -c 
    "sed -i 's/sysPassword=.*/sysPassword=
    $SYS_PWD
    /' 
    $RSP_DIR
    /dbca.rsp"
    
    
    su 
    - oracle 
    -c 
    "
    $ORACLE_HOME
    /runInstaller -silent -responseFile 
    $RSP_DIR
    /db_install.rsp -ignorePrereq"
    
    
    
    
    
    # 8. 两节点:执行Oracle root脚本(root用户)
    
    
    for 
    node 
    in 
    $NODES; 
    do
    
      
    ssh 
    $node 
    "
    $ORACLE_HOME
    /root.sh"
    
    
    done
    
    
    
    
    
    # 9. 节点1:创建RAC数据库(oracle用户)
    
    
    su 
    - oracle 
    -c 
    "dbca -silent -responseFile 
    $RSP_DIR
    /dbca.rsp"
    
    
    
    
    
    # 10. 验证安装结果
    
    
    echo 
    "RAC安装完成,开始验证..."
    
    crsctl check cluster 
    -all
    
    
    su 
    - oracle 
    -c 
    "sqlplus -S / as sysdba <<EOF
    
    select instance_name, status from gv\$instance;
    
    
    exit;
    
    EOF
    "
    
    
    echo 
    "验证完成,日志路径:/u01/app/oracle/cfgtoollogs/dbca/"

    3.4 RAC安装常见错误及解决办法

    错误现象 报错原因 解决办法
    Grid安装报错“节点间心跳超时” 私网通信异常,延迟过高或丢包 1. 检查私网网卡配置:ifconfig;2. 测试私网延迟:ping 10.0.0.102 -i 0.1 -c 100(丢包率0%);3. 重启私网网卡:systemctl restart network
    ASM磁盘组创建失败“磁盘不可共享” 共享存储未配置,两节点磁盘识别不一致 1. 两节点执行lsblk对比磁盘;2. 重新配置iSCSI:iscsiadm -m node -l;3. 确保磁盘权限:chown grid:asmadmin /dev/sdb1
    数据库创建报错“实例racdb2启动失败” 节点2环境变量未配置,或监听未启动 1. 节点2配置环境变量:export ORACLE_SID=racdb2;2. 启动监听:lsnrctl start;3. 手动启动实例:sqlplus / as sysdba → startup
    CRS状态异常“ora.asm offline” ASM实例未启动,或磁盘组未挂载 1. 启动ASM实例:su - grid → sqlplus / as sysasm → startup;2. 挂载磁盘组:alter diskgroup OCRVOTING mount;

    四、RAC安装后验证:确保集群高可用

    RAC验证不仅要确认数据库正常,更要验证集群的高可用特性(如实例故障转移),需完成以下5步全面验证:

    4.1 集群状态验证(grid用户,节点1)

    
    # 查看集群整体状态(所有资源为ONLINE)
    
    crsctl check cluster 
    -all
    
    
    
    
    
    # 查看集群资源详情
    
    crsctl status resource 
    -t
    
    
    
    
    
    # 正常输出应包含:
    
    
    # ora.racdb.db(数据库资源,两节点ONLINE)
    
    
    # ora.ocrvoting.dg(磁盘组资源,ONLINE)
    
    
    # ora.rac01.vip(VIP资源,ONLINE)

    4.2 ASM磁盘组验证(grid用户)

    
    # 两节点查看磁盘组状态(均为MOUNTED)
    
    
    su 
    - grid
    
    asmcmd lsdg
    
    
    
    
    
    # 查看ASM实例状态(两节点均为OPEN)
    
    sqlplus / as sysasm
    
    select instance_name, status from gv
    $instance;

    4.3 数据库实例与监听验证(oracle用户)

    
    # 节点1查看实例(racdb1)
    
    
    export 
    ORACLE_SID
    =racdb1
    
    sqlplus / as sysdba
    
    select instance_name, status from v
    $instance;
    
    
    
    
    
    # 节点2查看实例(racdb2)
    
    
    ssh rac02 
    "export ORACLE_SID=racdb2; sqlplus -S / as sysdba <<EOF
    
    select instance_name, status from v\$instance;
    
    
    exit;
    
    EOF
    "
    
    
    
    
    
    # 查看监听状态(两节点均包含racdb1和racdb2服务)
    
    lsnrctl status

    4.4 数据库连接测试(本地+远程)

    
    # 本地连接节点1实例
    
    sqlplus sys/
    $SYS_PWD@rac01:1521/racdb1 as sysdba
    
    
    
    
    
    # 远程连接SCAN IP(自动负载均衡)
    
    sqlplus sys/
    $SYS_PWD@rac-scan:1521/racdb as sysdba
    
    
    
    
    
    # 验证RAC特性:跨节点查询数据
    
    create table test_rac (id number);
    
    insert into test_rac values (1);
    
    commit;
    
    
    ssh rac02 
    "sqlplus -S sys/
    $SYS_PWD
    @racdb2 as sysdba <<EOF
    
    select * from test_rac;
    
    
    exit;
    
    EOF
    "  # 应查询到数据,说明共享存储正常

    4.5 故障转移测试(核心高可用验证)

    
    # 节点1手动停止实例,模拟故障
    
    
    export 
    ORACLE_SID
    =racdb1
    
    sqlplus / as sysdba
    
    shutdown abort;
    
    
    exit;
    
    
    
    
    
    # 节点2查看集群状态(racdb1实例OFFLINE,VIP自动漂移)
    
    crsctl status resource 
    -t
    
    
    
    
    
    # 远程连接测试(自动连接到racdb2实例)
    
    sqlplus sys/
    $SYS_PWD@rac-scan:1521/racdb as sysdba
    
    select instance_name from v
    $instance;  
    # 显示racdb2
    
    
    
    
    
    # 启动节点1实例,恢复集群
    
    
    ssh rac01 
    "export ORACLE_SID=racdb1; sqlplus / as sysdba <<EOF
    
    startup;
    
    
    exit;
    
    EOF
    "

    五、RAC部署的核心要点

    19c RAC 2节点部署虽复杂,但抓住核心逻辑就能事半功倍:

    1. 基础配置是前提 :三网分离、节点互信、共享存储这三点必须提前搞定,否则后续安装寸步难行;

    2. Grid优先于Oracle :先装集群基础软件,再装数据库软件,顺序不能乱;

    3. 高可用验证必做 :安装完成后一定要测故障转移,确保RAC真正发挥作用;

    4. 日志是排错关键 :遇到报错先查Grid和Oracle的安装日志,定位问题比盲目重试更高效。

    掌握了RAC部署,你就具备了生产环境高可用数据库的运维能力。接下来,我们将进入日常运维阶段,讲解数据库的启停、表空间管理等核心操作,关注我,带你一步步成为Oracle运维高手!

    原文链接: https://mp.weixin.qq.com/s/E4e8FsCqrISqrN7bxjt2aQ

    ???? 点赞,你的认可是我创作的动力!

    ⭐️ 收藏,你的青睐是我努力的方向!

    ✏️ 评论,你的意见是我进步的财富!

  • 相关推荐