Oracle 19c RAC多节点运行状态最简排查指南_20260316

本文以 Oracle 19c 两节点 RAC 环境为例进行演示,但文中的检查思路同样适用于4节点、6节点等多节点 RAC 场景,主要区别在于检查结果中节点数、实例数及 PDB 状态记录数会相应增加。

一、排查目标

确认以下内容是否正常:

  1. 两个 RAC 节点是否都在线?

  2. 集群资源是否正常?

  3. 数据库两个实例是否都正常打开?

  4. 如果是 CDB/PDB 架构,业务 PDB 是否都正常打开?

二、生产环境排查原则

生产环境优先使用只读、查看类命令,避免执行会引起切换、重启、停止、迁移的操作。

三、最简排查步骤

1. 检查节点状态

切换到 grid 用户执行:

复制代码
su - grid
olsnodes -n -s
命令说明
  1. olsnodes:查看集群节点信息

  2. -n:显示节点编号

  3. -s:显示节点状态

检查目的

确认两个 RAC 节点是否都已加入集群并处于活动状态。


2. 检查集群资源和数据库资源状态

grid用户继续执行:

复制代码
crsctl stat res -t
检查目的

查看集群关键资源是否正常在线,包括:

  1. 数据库资源

  2. ASM

  3. 监听

  4. VIP

  5. SCAN

  6. 网络资源

重点关注
  1. Target 是否为 ONLINE

  2. State 是否为 ONLINE

  3. 数据库资源的 State details 是否为 Open

  4. 资源状态是否为 STABLE


3. 检查数据库实例状态

切换到 oracle 用户登录数据库:

复制代码
su - oracle
export ORACLE_SID=<当前节点对应实例名>
sqlplus / as sysdba

说明:在服务器本地使用 sqlplus / as sysdba 登录数据库前,应先设置 ORACLE_SID 为当前节点对应的实例名,以确保连接到目标实例。

执行:

复制代码
set linesize 200
select inst_id, instance_name, host_name, status
from gv$instance
order by inst_id;
检查目的

确认两个实例是否都已正常打开。

说明
  • gv$instance 为全局视图

  • 在任意一个节点执行即可查看整个 RAC 所有实例状态


4. 检查 PDB 状态(适用于 CDB/PDB 架构)

Oracle用户SQL窗口继续执行:

复制代码
set lines 200
col name for a20
select inst_id, con_id, name, open_mode
from gv$pdbs
order by inst_id, con_id;
检查目的

确认各业务 PDB 在两个实例上的打开状态是否正常。

说明
  • gv$pdbs 为全局视图

  • 在任意一个节点执行即可查看所有实例上的 PDB 状态


四、最简判断标准

RAC 层面正常标准

  1. 两个节点状态正常

  2. 集群资源正常在线

  3. 数据库资源正常在线并已打开

数据库层面正常标准

  1. 两个实例状态正常

  2. 各业务 PDB 状态正常


五、最简排查命令清单

grid 用户

复制代码
su - grid
olsnodes -n -s
crsctl stat res -t

oracle 用户

复制代码
su - oracle
sqlplus / as sysdba

set linesize 200
select inst_id, instance_name, host_name, status
from gv$instance
order by inst_id;

set lines 200
col name for a20
select inst_id, con_id, name, open_mode
from gv$pdbs
order by inst_id, con_id;

六、命令作用简述

olsnodes -n -s

查看 RAC 集群节点信息、节点编号及节点状态。

crsctl stat res -t

查看集群资源、数据库资源、监听、VIP、SCAN、ASM 等状态。

gv$instance

查看整个 RAC 所有实例的状态。

gv$pdbs

查看整个 RAC 所有实例上的 PDB 打开状态。

七、实操记录(已脱敏)

复制代码
[root@racnode2 ~]# su - grid
[grid@racnode2 ~]$ olsnodes -n -s
racnode1 1       Active
racnode2 2       Active

[grid@racnode2 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       racnode1                 STABLE
               ONLINE  ONLINE       racnode2                 STABLE
ora.net1.network
               ONLINE  ONLINE       racnode1                 STABLE
               ONLINE  ONLINE       racnode2                 STABLE
ora.ons
               ONLINE  ONLINE       racnode1                 STABLE
               ONLINE  ONLINE       racnode2                 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       racnode1                 STABLE
      2        ONLINE  ONLINE       racnode2                 STABLE
ora.RECO.dg(ora.asmgroup)
      1        ONLINE  ONLINE       racnode1                 STABLE
      2        ONLINE  ONLINE       racnode2                 STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       racnode1                 Started,STABLE
      2        ONLINE  ONLINE       racnode2                 Started,STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       racnode2                 STABLE
ora.racnode1.vip
      1        ONLINE  ONLINE       racnode1                 STABLE
ora.racnode2.vip
      1        ONLINE  ONLINE       racnode2                 STABLE
ora.appcdb.db
      1        ONLINE  ONLINE       racnode1                 Open,HOME=/u01/app/oracle/product/19.0.0.0/dbhome_1,STABLE
      2        ONLINE  ONLINE       racnode2                 Open,HOME=/u01/app/oracle/product/19.0.0.0/dbhome_1,STABLE
ora.reportadg.db
      1        ONLINE  ONLINE       racnode1                 Open,Readonly,HOME=/u01/app/oracle/product/19.0.0.0/dbhome_1,STABLE
      2        ONLINE  ONLINE       racnode2                 Open,Readonly,HOME=/u01/app/oracle/product/19.0.0.0/dbhome_1,STABLE
--------------------------------------------------------------------------------

[grid@racnode2 ~]$ exit
logout
[root@racnode2 ~]# su - oracle
[oracle@racnode2 ~]$ export ORACLE_SID=APPCDB2
[oracle@racnode2 ~]$ sqlplus / as sysdba

SQL> set linesize 200
SQL> select inst_id, instance_name, host_name, status
  2  from gv$instance
  3  order by inst_id;

   INST_ID INSTANCE_NAME                    HOST_NAME                 STATUS
---------- -------------------------------- ------------------------ ------------------------
         1 APPCDB1                          racnode1.example.com     OPEN
         2 APPCDB2                          racnode2.example.com     OPEN

SQL> set lines 200
SQL> col name for a20
SQL> select inst_id, con_id, name, open_mode
  2  from gv$pdbs
  3  order by inst_id, con_id;

   INST_ID     CON_ID NAME                 OPEN_MODE
---------- ---------- -------------------- --------------------
         1          2 PDB$SEED             READ ONLY
         1          3 PDB_APP1             READ WRITE
         1          5 PDB_APP2             READ WRITE
         2          2 PDB$SEED             READ ONLY
         2          3 PDB_APP1             READ WRITE
         2          5 PDB_APP2             READ WRITE

6 rows selected.

检查结论:

Oracle 19c 两节点 RAC 集群运行正常,双节点在线,集群资源正常,双实例均已打开,业务 PDB 在两个实例上均正常提供读写服务。

总结:

检查 Oracle 19c 两节点 RAC 运行状态时,可通过节点状态、集群资源、实例状态及 PDB 打开状态四个层面进行最简排查。根据本次检查结果,两个节点均为 Active,集群资源均为 ONLINE,两个实例均为 OPEN,业务 PDB 在双节点上均为 READ WRITE,整体运行状态正常。

相关推荐
Scabbards_2 小时前
基于docker的LLM服务部署
运维·docker·容器
qq_404265832 小时前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python
于眠牧北2 小时前
ubuntu22.04在docker中安装redis6.2.x并配置远程连接
运维·redis·docker·容器
独自破碎E2 小时前
MySQL的三层B+树能存多少数据?
数据库·b树·mysql
逆境不可逃2 小时前
【从零入门23种设计模式18】行为型之备忘录模式
服务器·数据库·设计模式·oracle·职场和发展·迭代器模式·备忘录模式
weixin_452953322 小时前
openclaw新手部署详细教程——适用于ubuntu22.04
linux·人工智能·ubuntu
暴力求解2 小时前
Linux---ELF与库加载
linux·运维·服务器
顶点多余2 小时前
事务(数据库使用者角度的术语)
数据库·mysql
Shaidou_Data2 小时前
数据要素自动化实践:沙淘金数据清洗与治理技术方案详解
运维·自动化