目录
[1.1.查看集群状态:crsctl status resource -t](#1.1.查看集群状态:crsctl status resource -t)
[2.1.3.Data Guard环境特殊处理](#2.1.3.Data Guard环境特殊处理)
问题说明:
收到开发人员反应说,Oracle连接状态异常,无法正常进行连接。
一、问题排查流程
1.1.查看集群状态:crsctl status resource/res -t
bash
[grid@host03 ~]$ crsctl status resource -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
ONLINE ONLINE host03 STABLE
ONLINE ONLINE host04 STABLE
ora.chad
ONLINE ONLINE host03 STABLE
ONLINE ONLINE host04 STABLE
ora.helper
OFFLINE OFFLINE host03 IDLE,STABLE
OFFLINE OFFLINE host04 IDLE,STABLE
ora.net1.network
ONLINE ONLINE host03 STABLE
ONLINE ONLINE host04 STABLE
ora.ons
ONLINE ONLINE host03 STABLE
ONLINE ONLINE host04 STABLE
ora.proxy_advm
OFFLINE OFFLINE host03 STABLE
OFFLINE OFFLINE host04 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE ONLINE host03 STABLE
2 ONLINE ONLINE host04 STABLE
ora.ASMNET2LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE ONLINE host03 STABLE
2 ONLINE ONLINE host04 STABLE
ora.DGDATA.dg(ora.asmgroup)
1 ONLINE ONLINE host03 STABLE
2 ONLINE ONLINE host04 STABLE
ora.DGMGMT.dg(ora.asmgroup)
1 ONLINE ONLINE host03 STABLE
2 ONLINE ONLINE host04 STABLE
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE host03 STABLE
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE host03 STABLE
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE host03 STABLE
ora.MGMTLSNR
1 ONLINE ONLINE host04 169.254.6.24 172.27.
1.101 172.27.2.101,S
TABLE
ora.asm(ora.asmgroup)
1 ONLINE ONLINE host03 Started,STABLE
2 ONLINE ONLINE host04 Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE host03 STABLE
2 ONLINE ONLINE host04 STABLE
ora.asmnet2.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE host03 STABLE
2 ONLINE ONLINE host04 STABLE
ora.cvu
1 ONLINE ONLINE host04 STABLE
ora.gns
1 ONLINE ONLINE host04 STABLE
ora.gns.vip
1 ONLINE ONLINE host04 STABLE
ora.host03.vip
1 ONLINE ONLINE host03 STABLE
ora.host04.vip
1 ONLINE ONLINE host04 STABLE
ora.mgmtdb
1 ONLINE ONLINE host04 Open,STABLE
ora.orcl.db
1 ONLINE INTERMEDIATE host04 Stuck Archiver,HOME=
/u01/app/oracle/prod
uct/19.3.0/dbhome_1,
STABLE
2 ONLINE INTERMEDIATE host03 Stuck Archiver,HOME=
/u01/app/oracle/prod
uct/19.3.0/dbhome_1,
STABLE
ora.qosmserver
1 ONLINE ONLINE host04 STABLE
ora.rhpserver
1 OFFLINE OFFLINE STABLE
ora.scan1.vip
1 ONLINE ONLINE host03 STABLE
ora.scan2.vip
1 ONLINE ONLINE host03 STABLE
ora.scan3.vip
1 ONLINE ONLINE host03 STABLE
--------------------------------------------------------------------------------
[grid@host03 ~]$
从集群状态来说,原则就是需要找没处于online状态的项目(如果正常,继续考虑客户端配置、网络链路或数据库内部的服务注册 ),那么问题就显而易见了,从上图就可以看出stuck archive,也就是归档进程卡住了,这种情况非常常见,通常的原因也就是归档存放空间被挤满了,归档日志无法正常写入,触发了集群保护状态,进而归档进程写入停止,造成的集群异常。 
1.2.排查日志
为了进一步验证我们的猜想,那么我们还需要进一步前往日志里边进行查看:


问题已经浮出水面,可以看到,Failed to create file +DGDATA,diskgroup "DGDATA" space exhausted,空间耗尽,这时我们再去看一下ASM共享存储。


紧急处理:删除归档日志,这又涉及到了归档日志的删除操作。
二、删除归档日志(临时、紧急情况)
2.1.通过RMAN安全删除(标准方法)
2.1.1.标准清理流程
以如下步骤进行,这是最安全、最推荐的做法:
1)连接RMAN
rman target /
2)同步元数据
执行CROSSCHECK(译为:交叉核对),将控制文件中记录但物理已不存在的日志标记为EXPIRED(过期)。
RMAN> CROSSCHECK ARCHIVELOG ALL;
3)清理过期记录
此操作是为了删除上一步标记为EXPIRED的垃圾记录。
RMAN> DELETE EXPIRED ARCHIVELOG ALL;
4)删除旧的归档日志(核心步骤)
- 按时间删除:例如,删除3天前已完成归档的日志。
RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-3';
-
更安全的做法:仅删除已备份过的日志,避免误删恢复所需文件。
RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-3' BACKED UP 1 TIMES TO DEVICE TYPE DISK;
综合流程(非生产环境中我直接是把所有的的归档日志进行了删除):
bash
[oracle@host03 ~]$ rman target /
Recovery Manager: Release 19.0.0.0.0 - Production on Fri Aug 7 10:02:53 2026
Version 19.15.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
connected to target database: ORCL (DBID=1698218783)
RMAN> crosscheck archivelog all;
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=316 instance=orcl1 device type=DISK
validation succeeded for archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_07_30/thread_1_seq_49.312.1239989373 RECID=68 STAMP=1239989378
validation succeeded for archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_07_31/thread_1_seq_50.307.1240049333 RECID=70 STAMP=1240049343
validation succeeded for archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_07_31/thread_1_seq_51.300.1240066157 RECID=73 STAMP=1240066163
validation succeeded for archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_07_31/thread_1_seq_52.298.1240066165 RECID=74 STAMP=1240066164
validation succeeded for archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_07_31/thread_1_seq_53.262.1240067879 RECID=75 STAMP=1240067879
validation succeeded for archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_07_31/thread_1_seq_54.263.1240092165 RECID=76 STAMP=1240092176
validation succeeded for archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_08_01/thread_1_seq_55.311.1240138819 RECID=77 STAMP=1240138828
validation succeeded for archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_08_01/thread_1_seq_56.309.1240178945 RECID=79 STAMP=1240178950
validation succeeded for archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_08_02/thread_1_seq_57.304.1240250437 RECID=81 STAMP=1240250441
validation succeeded for archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_08_03/thread_1_seq_58.301.1240344011 RECID=83 STAMP=1240344016
validation succeeded for archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_08_04/thread_1_seq_59.297.1240434007 RECID=85 STAMP=1240434012
validation succeeded for archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_07_30/thread_2_seq_31.315.1239989171 RECID=67 STAMP=1239989178
validation succeeded for archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_07_31/thread_2_seq_32.308.1240049131 RECID=69 STAMP=1240049142
validation succeeded for archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_07_31/thread_2_seq_33.305.1240051039 RECID=71 STAMP=1240051046
validation succeeded for archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_07_31/thread_2_seq_34.302.1240066153 RECID=72 STAMP=1240066158
validation succeeded for archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_08_01/thread_2_seq_35.310.1240138821 RECID=78 STAMP=1240138832
validation succeeded for archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_08_02/thread_2_seq_36.306.1240236051 RECID=80 STAMP=1240236055
validation succeeded for archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_08_03/thread_2_seq_37.303.1240300809 RECID=82 STAMP=1240300813
validation succeeded for archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_08_04/thread_2_seq_38.299.1240390837 RECID=84 STAMP=1240390842
Crosschecked 19 objects
RMAN>
RMAN> delete archivelog all;
released channel: ORA_DISK_1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=316 instance=orcl1 device type=DISK
List of Archived Log Copies for database with db_unique_name ORCL
=====================================================================
Key Thrd Seq S Low Time
------- ---- ------- - ---------
68 1 49 A 17-OCT-24
Name: +DGDATA/ORCL/ARCHIVELOG/2026_07_30/thread_1_seq_49.312.1239989373
70 1 50 A 18-OCT-24
Name: +DGDATA/ORCL/ARCHIVELOG/2026_07_31/thread_1_seq_50.307.1240049333
73 1 51 A 31-JUL-26
Name: +DGDATA/ORCL/ARCHIVELOG/2026_07_31/thread_1_seq_51.300.1240066157
74 1 52 A 31-JUL-26
Name: +DGDATA/ORCL/ARCHIVELOG/2026_07_31/thread_1_seq_52.298.1240066165
75 1 53 A 31-JUL-26
Name: +DGDATA/ORCL/ARCHIVELOG/2026_07_31/thread_1_seq_53.262.1240067879
76 1 54 A 31-JUL-26
Name: +DGDATA/ORCL/ARCHIVELOG/2026_07_31/thread_1_seq_54.263.1240092165
77 1 55 A 31-JUL-26
Name: +DGDATA/ORCL/ARCHIVELOG/2026_08_01/thread_1_seq_55.311.1240138819
79 1 56 A 01-AUG-26
Name: +DGDATA/ORCL/ARCHIVELOG/2026_08_01/thread_1_seq_56.309.1240178945
81 1 57 A 01-AUG-26
Name: +DGDATA/ORCL/ARCHIVELOG/2026_08_02/thread_1_seq_57.304.1240250437
83 1 58 A 02-AUG-26
Name: +DGDATA/ORCL/ARCHIVELOG/2026_08_03/thread_1_seq_58.301.1240344011
85 1 59 A 03-AUG-26
Name: +DGDATA/ORCL/ARCHIVELOG/2026_08_04/thread_1_seq_59.297.1240434007
67 2 31 A 18-OCT-24
Name: +DGDATA/ORCL/ARCHIVELOG/2026_07_30/thread_2_seq_31.315.1239989171
69 2 32 A 22-OCT-24
Name: +DGDATA/ORCL/ARCHIVELOG/2026_07_31/thread_2_seq_32.308.1240049131
71 2 33 A 31-JUL-26
Name: +DGDATA/ORCL/ARCHIVELOG/2026_07_31/thread_2_seq_33.305.1240051039
72 2 34 A 31-JUL-26
Name: +DGDATA/ORCL/ARCHIVELOG/2026_07_31/thread_2_seq_34.302.1240066153
78 2 35 A 31-JUL-26
Name: +DGDATA/ORCL/ARCHIVELOG/2026_08_01/thread_2_seq_35.310.1240138821
80 2 36 A 01-AUG-26
Name: +DGDATA/ORCL/ARCHIVELOG/2026_08_02/thread_2_seq_36.306.1240236051
82 2 37 A 02-AUG-26
Name: +DGDATA/ORCL/ARCHIVELOG/2026_08_03/thread_2_seq_37.303.1240300809
84 2 38 A 03-AUG-26
Name: +DGDATA/ORCL/ARCHIVELOG/2026_08_04/thread_2_seq_38.299.1240390837
Do you really want to delete the above objects (enter YES or NO)? yes
deleted archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_07_30/thread_1_seq_49.312.1239989373 RECID=68 STAMP=1239989378
deleted archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_07_31/thread_1_seq_50.307.1240049333 RECID=70 STAMP=1240049343
deleted archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_07_31/thread_1_seq_51.300.1240066157 RECID=73 STAMP=1240066163
deleted archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_07_31/thread_1_seq_52.298.1240066165 RECID=74 STAMP=1240066164
deleted archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_07_31/thread_1_seq_53.262.1240067879 RECID=75 STAMP=1240067879
deleted archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_07_31/thread_1_seq_54.263.1240092165 RECID=76 STAMP=1240092176
deleted archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_08_01/thread_1_seq_55.311.1240138819 RECID=77 STAMP=1240138828
deleted archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_08_01/thread_1_seq_56.309.1240178945 RECID=79 STAMP=1240178950
deleted archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_08_02/thread_1_seq_57.304.1240250437 RECID=81 STAMP=1240250441
deleted archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_08_03/thread_1_seq_58.301.1240344011 RECID=83 STAMP=1240344016
deleted archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_08_04/thread_1_seq_59.297.1240434007 RECID=85 STAMP=1240434012
deleted archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_07_30/thread_2_seq_31.315.1239989171 RECID=67 STAMP=1239989178
deleted archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_07_31/thread_2_seq_32.308.1240049131 RECID=69 STAMP=1240049142
deleted archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_07_31/thread_2_seq_33.305.1240051039 RECID=71 STAMP=1240051046
deleted archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_07_31/thread_2_seq_34.302.1240066153 RECID=72 STAMP=1240066158
deleted archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_08_01/thread_2_seq_35.310.1240138821 RECID=78 STAMP=1240138832
deleted archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_08_02/thread_2_seq_36.306.1240236051 RECID=80 STAMP=1240236055
deleted archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_08_03/thread_2_seq_37.303.1240300809 RECID=82 STAMP=1240300813
deleted archived log
archived log file name=+DGDATA/ORCL/ARCHIVELOG/2026_08_04/thread_2_seq_38.299.1240390837 RECID=84 STAMP=1240390842
Deleted 19 objects
RMAN>
2.1.2.其他常用删除命令
obsolete:过期的,过时的
DELETE OBSOLETE:根据RMAN保留策略(RETENTION POLICY)自动删除不再需要的日志。
DELETE ARCHIVELOG ALL BACKED UP 2 TIMES TO DISK;:删除那些已在磁盘上备份过至少2次的归档日志。
BACKUP ARCHIVELOG ALL DELETE INPUT;:备份所有归档日志,成功后自动删除原文件。这是备份与清理一步到位的推荐方式。
2.1.3.Data Guard环境特殊处理
在Data Guard环境中,务必确保日志已在备库应用后再删除,否则造成需要重建DG。
-
配置删除策略:告诉RMAN,只有当日志已在所有备库上应用后,才可以删除。
RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;
-
执行删除 :配置后,再执行
DELETE ARCHIVELOG,RMAN会自动遵守该策略。
2.2.特殊情况:ASM存储应急处理
当ASM磁盘组空间彻底爆满,导致RMAN都无法连接时,可采取此应急措施。
2.2.1.通过ASMCMD直接删除文件
ASMCMD> cd +DGDATA/ORCL/ARCHIVELOG/2026_08_01/
ASMCMD> rm -rf *
这会立即释放空间。
bash
[grid@host03 ~]$ asmcmd
ASMCMD> ls
DGDATA/
DGMGMT/
ASMCMD> cd dgda*
ASMCMD> ls
ASM/
ORCL/
cluster01/
orapwasm
ASMCMD> cd orcl
ASMCMD> ls
19BE189A6D511F72E063B701A8C047D9/
19BE790C2F396AF1E063B701A8C011DE/
86B637B62FE07A65E053F706E80A27CA/
AUTOBACKUP/
DATAFILE/
ONLINELOG/
PARAMETERFILE/
PASSWORD/
TEMPFILE/
archivelog/
ASMCMD> cd archive*
ASMCMD> ls
2026_07_30/
2026_07_31/
2026_08_01/
2026_08_02/
2026_08_03/
2026_08_04/
ASMCMD>
ASMCMD> cd 2026_08_04
ASMCMD> ls
thread_1_seq_59.297.1240434007
thread_2_seq_38.299.1240390837
ASMCMD>
ASMCMD>
ASMCMD> exit
2.2.2.事后必须执行元数据同步
直接删除后,控制文件中的记录不会自动更新。必须立即执行以下RMAN命令进行"对账":
RMAN> CROSSCHECK ARCHIVELOG ALL;
RMAN> DELETE EXPIRED ARCHIVELOG ALL;
这一步至关重要,否则后续备份会因元数据混乱而失败。
2.3.检查集群状态
删除归档日志之后,再次检查集群状态就可以看出集群已经恢复正常。
bash
[grid@host03 ~]$ crsctl status res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
ONLINE ONLINE host03 STABLE
ONLINE ONLINE host04 STABLE
ora.chad
ONLINE ONLINE host03 STABLE
ONLINE ONLINE host04 STABLE
ora.helper
OFFLINE OFFLINE host03 IDLE,STABLE
OFFLINE OFFLINE host04 IDLE,STABLE
ora.net1.network
ONLINE ONLINE host03 STABLE
ONLINE ONLINE host04 STABLE
ora.ons
ONLINE ONLINE host03 STABLE
ONLINE ONLINE host04 STABLE
ora.proxy_advm
OFFLINE OFFLINE host03 STABLE
OFFLINE OFFLINE host04 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE ONLINE host03 STABLE
2 ONLINE ONLINE host04 STABLE
ora.ASMNET2LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE ONLINE host03 STABLE
2 ONLINE ONLINE host04 STABLE
ora.DGDATA.dg(ora.asmgroup)
1 ONLINE ONLINE host03 STABLE
2 ONLINE ONLINE host04 STABLE
ora.DGMGMT.dg(ora.asmgroup)
1 ONLINE ONLINE host03 STABLE
2 ONLINE ONLINE host04 STABLE
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE host03 STABLE
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE host03 STABLE
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE host03 STABLE
ora.MGMTLSNR
1 ONLINE ONLINE host04 169.254.6.24 172.27.
1.101 172.27.2.101,S
TABLE
ora.asm(ora.asmgroup)
1 ONLINE ONLINE host03 Started,STABLE
2 ONLINE ONLINE host04 Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE host03 STABLE
2 ONLINE ONLINE host04 STABLE
ora.asmnet2.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE host03 STABLE
2 ONLINE ONLINE host04 STABLE
ora.cvu
1 ONLINE ONLINE host04 STABLE
ora.gns
1 ONLINE ONLINE host04 STABLE
ora.gns.vip
1 ONLINE ONLINE host04 STABLE
ora.host03.vip
1 ONLINE ONLINE host03 STABLE
ora.host04.vip
1 ONLINE ONLINE host04 STABLE
ora.mgmtdb
1 ONLINE ONLINE host04 Open,STABLE
ora.orcl.db
1 ONLINE ONLINE host04 Open,HOME=/u01/app/o
racle/product/19.3.0
/dbhome_1,STABLE
2 ONLINE ONLINE host03 Open,HOME=/u01/app/o
racle/product/19.3.0
/dbhome_1,STABLE
ora.qosmserver
1 ONLINE ONLINE host04 STABLE
ora.rhpserver
1 OFFLINE OFFLINE STABLE
ora.scan1.vip
1 ONLINE ONLINE host03 STABLE
ora.scan2.vip
1 ONLINE ONLINE host03 STABLE
ora.scan3.vip
1 ONLINE ONLINE host03 STABLE
--------------------------------------------------------------------------------
[grid@host03 ~]$
2.4.查看删除后的空间

显然我们的空间由之前的400+MB(前面的操作中忘记截图)腾出到现在的5200MB。但是思考一个问题,我们的问题真正得到有效解决了?
其实,并没有,既然能发生一次因归档日志爆满导致服务异常的情况,那么会不会出现第二次呢?出现了第二次又进行删除归档日志?治标不治本,那肯定是不行,这时候我们就需要想到扩容归档日志的储存空间。也就涉及到了下边我们ASM磁盘扩容的情况。
三、彻底解决(增添ASM磁盘,有坑)
前置:记录一下扩容前

3.1.准备存储卷
首先,那肯定就是得准备对应所需要使用到的存储空间,生产中一般需要将存储设备划分相应的lun卷,再通过iscsi映射到对应的主机,主机正常识别之后再进行操作。这里我们就不进行演示,测试环境中可以使用openfile开源工具来进行测试练习。

查看硬件WWN和序列号,重点获取后边的WWN号,因为需要对UDEV规则将其添加进去。
命令1:ls -l /dev/disk/by-id/,如果说这个扫描不出来,执行命令2,再次执行这个

命令2:rescan-scsi-bus.sh,作用只是让内核识别/dev/sdx

命令3:udevadm info --query=property --name=/dev/sdj |grep scsi

命令4:lsblk -o NAME,SIZE,MODEL,SERIAL,WWN,这个命令作为一个参考。

3.2.重新配置UDEV
udev是Linux操作系统下的设备管理器,核心职责是动态管理 /dev/ 目录下的设备文件,并处理所有与硬件设备相关的事件(如插入、拔出、状态变更等)。
如果没有 udev 时,磁盘名字可能是 /dev/sdb,但服务器重启后,它可能因为扫描顺序变化而变成 /dev/sdc,而UDEV很好的解决了这个问题。
bash
[root@host03 by-id]# cat /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="14f504e46494c4552633450774b652d55376a4f2d3132614d", RUN+="/bin/sh -c 'mknod /dev/cl_DATA_dsk01 b $major $minor; chown grid:asmadmin /dev/cl_DATA_dsk01; chmod 0660 /dev/cl_DATA_dsk01'"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="14f504e46494c4552316b453752572d73676e682d4b49795a", RUN+="/bin/sh -c 'mknod /dev/cl_DATA_dsk02 b $major $minor; chown grid:asmadmin /dev/cl_DATA_dsk02; chmod 0660 /dev/cl_DATA_dsk02'"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="14f504e46494c4552364f665342712d325932642d59554a66", RUN+="/bin/sh -c 'mknod /dev/cl_DATA_dsk03 b $major $minor; chown grid:asmadmin /dev/cl_DATA_dsk03; chmod 0660 /dev/cl_DATA_dsk03'"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="14f504e46494c4552726e613469422d695134762d46326239", RUN+="/bin/sh -c 'mknod /dev/cl_DATA_dsk04 b $major $minor; chown grid:asmadmin /dev/cl_DATA_dsk04; chmod 0660 /dev/cl_DATA_dsk04'"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="14f504e46494c455259395a4d4b762d4c5448752d51353537", RUN+="/bin/sh -c 'mknod /dev/cl_DATA_dsk05 b $major $minor; chown grid:asmadmin /dev/cl_DATA_dsk05; chmod 0660 /dev/cl_DATA_dsk05'"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="14f504e46494c45524b48346564512d324242552d6b493550", RUN+="/bin/sh -c 'mknod /dev/cl_DATA_dsk06 b $major $minor; chown grid:asmadmin /dev/cl_DATA_dsk06; chmod 0660 /dev/cl_DATA_dsk06'"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="14f504e46494c45524463526230342d507370662d456d3065", RUN+="/bin/sh -c 'mknod /dev/cl_DATA_dsk07 b $major $minor; chown grid:asmadmin /dev/cl_DATA_dsk07; chmod 0660 /dev/cl_DATA_dsk07'"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="14f504e46494c4552704c6c3930542d3649776e2d724e496a", RUN+="/bin/sh -c 'mknod /dev/cl_DATA_dsk08 b $major $minor; chown grid:asmadmin /dev/cl_DATA_dsk08; chmod 0660 /dev/cl_DATA_dsk08'"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="14f504e46494c45526868345556742d435252642d32726562", RUN+="/bin/sh -c 'mknod /dev/cl_DATA_dsk09 b $major $minor; chown grid:asmadmin /dev/cl_DATA_dsk09; chmod 0660 /dev/cl_DATA_dsk09'"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="14f504e46494c45526264517851622d4e6c68622d36517363", RUN+="/bin/sh -c 'mknod /dev/cl_DATA_dsk10 b $major $minor; chown grid:asmadmin /dev/cl_DATA_dsk10; chmod 0660 /dev/cl_DATA_dsk10'"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="14f504e46494c45526470566a314d2d437267362d3134394b", RUN+="/bin/sh -c 'mknod /dev/cl_FRA_dsk01 b $major $minor; chown grid:asmadmin /dev/cl_FRA_dsk01; chmod 0660 /dev/cl_FRA_dsk01'"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="14f504e46494c45524167694c6f622d344746672d4b386a79", RUN+="/bin/sh -c 'mknod /dev/cl_FRA_dsk02 b $major $minor; chown grid:asmadmin /dev/cl_FRA_dsk02; chmod 0660 /dev/cl_FRA_dsk02'"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="14f504e46494c4552563338364b762d767339342d7444314a", RUN+="/bin/sh -c 'mknod /dev/cl_FRA_dsk03 b $major $minor; chown grid:asmadmin /dev/cl_FRA_dsk03; chmod 0660 /dev/cl_FRA_dsk03'"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="14f504e46494c45524e316d4355302d636134432d304d7143", RUN+="/bin/sh -c 'mknod /dev/cl_FRA_dsk04 b $major $minor; chown grid:asmadmin /dev/cl_FRA_dsk04; chmod 0660 /dev/cl_FRA_dsk04'"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="14f504e46494c45523967734f366c2d335471662d4d586a72", RUN+="/bin/sh -c 'mknod /dev/cl_FRA_dsk05 b $major $minor; chown grid:asmadmin /dev/cl_FRA_dsk05; chmod 0660 /dev/cl_FRA_dsk05'"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="14f504e46494c45526666467341562d34356b342d64424168", RUN+="/bin/sh -c 'mknod /dev/cl_FLEX_dsk01 b $major $minor; chown grid:asmadmin /dev/cl_FLEX_dsk01; chmod 0660 /dev/cl_FLEX_dsk01'"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="14f504e46494c45524446637670692d626673392d5570354d", RUN+="/bin/sh -c 'mknod /dev/cl_FLEX_dsk02 b $major $minor; chown grid:asmadmin /dev/cl_FLEX_dsk02; chmod 0660 /dev/cl_FLEX_dsk02'"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="14f504e46494c455276696a57666f2d364b49332d57497164", RUN+="/bin/sh -c 'mknod /dev/cl_FLEX_dsk03 b $major $minor; chown grid:asmadmin /dev/cl_FLEX_dsk03; chmod 0660 /dev/cl_FLEX_dsk03'"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="14f504e46494c4552306f6c32377a2d7a3465592d334b466e", RUN+="/bin/sh -c 'mknod /dev/cl_FLEX_dsk04 b $major $minor; chown grid:asmadmin /dev/cl_FLEX_dsk04; chmod 0660 /dev/cl_FLEX_dsk04'"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="14f504e46494c45525536316c37632d72346f612d58784470", RUN+="/bin/sh -c 'mknod /dev/cl_FLEX_dsk05 b $major $minor; chown grid:asmadmin /dev/cl_FLEX_dsk05; chmod 0660 /dev/cl_FLEX_dsk05'"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="14f504e46494c4552636f3045324c2d763863392d514f7948", RUN+="/bin/sh -c 'mknod /dev/cl_MGMT_dsk01 b $major $minor; chown grid:asmadmin /dev/cl_MGMT_dsk01; chmod 0660 /dev/cl_MGMT_dsk01'"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="14f504e46494c455249373449736f2d4f4250642d47643556", RUN+="/bin/sh -c 'mknod /dev/cl_MGMT_dsk02 b $major $minor; chown grid:asmadmin /dev/cl_MGMT_dsk02; chmod 0660 /dev/cl_MGMT_dsk02'"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="14f504e46494c45527a77574751382d4d66437a2d6f524c30", RUN+="/bin/sh -c 'mknod /dev/cl_FRA_dsk06 b $major $minor; chown grid:asmadmin /dev/cl_FRA_dsk06; chmod 0660 /dev/cl_FRA_dsk06'"
[root@host03 by-id]#
3.3.刷新UDEV规则
udevadm control --reload-rules
udevadm trigger
ll /dev/cl*

保证我们所新增的盘能正常被操作系统给识别到。
3.4.ASM共享存储管理
操作系统所新增的盘会被Oracle环境中的ASM管理器自动检测到,我们可以看以下的示图:
bash
[grid@host03 ~]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Fri Aug 7 14:20:25 2026
Version 19.15.0.0.0
Copyright (c) 1982, 2022, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.15.0.0.0
SQL> desc v$asm_diskgroup
Name Null? Type
----------------------------------------- -------- ----------------------------
GROUP_NUMBER NUMBER
NAME VARCHAR2(30)
SECTOR_SIZE NUMBER
LOGICAL_SECTOR_SIZE NUMBER
BLOCK_SIZE NUMBER
ALLOCATION_UNIT_SIZE NUMBER
STATE VARCHAR2(11)
TYPE VARCHAR2(6)
TOTAL_MB NUMBER
FREE_MB NUMBER
HOT_USED_MB NUMBER
COLD_USED_MB NUMBER
REQUIRED_MIRROR_FREE_MB NUMBER
USABLE_FILE_MB NUMBER
OFFLINE_DISKS NUMBER
COMPATIBILITY VARCHAR2(60)
DATABASE_COMPATIBILITY VARCHAR2(60)
VOTING_FILES VARCHAR2(1)
CON_ID NUMBER
SQL> select group_number,name from v$asm_diskgroup;
GROUP_NUMBER NAME
------------ ------------------------------
1 DGDATA
2 DGMGMT
SQL> desc v$asm_disk
Name Null? Type
----------------------------------------- -------- ----------------------------
GROUP_NUMBER NUMBER
DISK_NUMBER NUMBER
COMPOUND_INDEX NUMBER
INCARNATION NUMBER
MOUNT_STATUS VARCHAR2(7)
HEADER_STATUS VARCHAR2(12)
MODE_STATUS VARCHAR2(7)
STATE VARCHAR2(8)
REDUNDANCY VARCHAR2(7)
LIBRARY VARCHAR2(64)
OS_MB NUMBER
TOTAL_MB NUMBER
FREE_MB NUMBER
HOT_USED_MB NUMBER
COLD_USED_MB NUMBER
NAME VARCHAR2(30)
FAILGROUP VARCHAR2(30)
LABEL VARCHAR2(31)
PATH VARCHAR2(256)
UDID VARCHAR2(64)
PRODUCT VARCHAR2(32)
CREATE_DATE DATE
MOUNT_DATE DATE
REPAIR_TIMER NUMBER
READS NUMBER
WRITES NUMBER
READ_ERRS NUMBER
WRITE_ERRS NUMBER
READ_TIMEOUT NUMBER
WRITE_TIMEOUT NUMBER
READ_TIME NUMBER
WRITE_TIME NUMBER
BYTES_READ NUMBER
BYTES_WRITTEN NUMBER
PREFERRED_READ VARCHAR2(1)
HASH_VALUE NUMBER
HOT_READS NUMBER
HOT_WRITES NUMBER
HOT_BYTES_READ NUMBER
HOT_BYTES_WRITTEN NUMBER
COLD_READS NUMBER
COLD_WRITES NUMBER
COLD_BYTES_READ NUMBER
COLD_BYTES_WRITTEN NUMBER
VOTING_FILE VARCHAR2(1)
SECTOR_SIZE NUMBER
LOGICAL_SECTOR_SIZE NUMBER
FAILGROUP_TYPE VARCHAR2(7)
CON_ID NUMBER
THIN_PROVISION_CAPABLE VARCHAR2(1)
DATA_INTEGRITY_CAPABLE VARCHAR2(1)
SITE_NAME VARCHAR2(30)
SITE_GUID VARCHAR2(33)
FAILGROUP_LABEL VARCHAR2(30)
SITE_LABEL VARCHAR2(30)
SITE_STATUS VARCHAR2(11)
SQL>
SQL> set line 400
SQL> select a.group_number,a.name,b.path,b.HEADER_STATUS from v$asm_diskgroup a,v$asm_disk b where a.group_number=b.group_number;
GROUP_NUMBER NAME PATH HEADER_STATU
------------ ------------------------------ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------
1 DGDATA /dev/cl_DATA_dsk04 MEMBER
1 DGDATA /dev/cl_DATA_dsk06 MEMBER
1 DGDATA /dev/cl_DATA_dsk03 MEMBER
1 DGDATA /dev/cl_DATA_dsk01 MEMBER
1 DGDATA /dev/cl_DATA_dsk05 MEMBER
1 DGDATA /dev/cl_DATA_dsk02 MEMBER
2 DGMGMT /dev/cl_MGMT_dsk01 MEMBER
2 DGMGMT /dev/cl_MGMT_dsk02 MEMBER
8 rows selected.
SQL> col path for a100
SQL> select group_number,path,header_status from v$asm_disk;
GROUP_NUMBER PATH HEADER_STATU
------------ ---------------------------------------------------------------------------------------------------- ------------
0 /dev/cl_FRA_dsk04 CANDIDATE
0 /dev/cl_FLEX_dsk02 CANDIDATE
0 /dev/cl_FRA_dsk05 CANDIDATE
0 /dev/cl_FRA_dsk06 CANDIDATE
0 /dev/cl_DATA_dsk10 CANDIDATE
0 /dev/cl_FLEX_dsk03 CANDIDATE
0 /dev/cl_DATA_dsk09 CANDIDATE
0 /dev/cl_FLEX_dsk05 CANDIDATE
0 /dev/cl_FRA_disk06 CANDIDATE
0 /dev/cl_DATA_dsk07 CANDIDATE
0 /dev/cl_FLEX_dsk01 CANDIDATE
GROUP_NUMBER PATH HEADER_STATU
------------ ---------------------------------------------------------------------------------------------------- ------------
0 /dev/cl_DATA_dsk08 CANDIDATE
0 /dev/cl_FRA_dsk03 CANDIDATE
0 /dev/cl_FRA_dsk02 CANDIDATE
0 /dev/cl_FRA_dsk01 CANDIDATE
0 /dev/cl_FLEX_dsk04 CANDIDATE
1 /dev/cl_DATA_dsk05 MEMBER
2 /dev/cl_MGMT_dsk02 MEMBER
2 /dev/cl_MGMT_dsk01 MEMBER
1 /dev/cl_DATA_dsk01 MEMBER
1 /dev/cl_DATA_dsk03 MEMBER
1 /dev/cl_DATA_dsk06 MEMBER
GROUP_NUMBER PATH HEADER_STATU
------------ ---------------------------------------------------------------------------------------------------- ------------
1 /dev/cl_DATA_dsk04 MEMBER
1 /dev/cl_DATA_dsk02 MEMBER
24 rows selected.
SQL> exit



3.5.ASM磁盘组添加成员盘
3.5.1.ASM磁盘组添加成员磁盘(坑一)
bash
[grid@host03 ~]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Fri Aug 7 14:26:55 2026
Version 19.15.0.0.0
Copyright (c) 1982, 2022, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.15.0.0.0
SQL> col path for a100
SQL> select group_number,path,header_status from v$asm_disk;
GROUP_NUMBER PATH HEADER_STATU
------------ ---------------------------------------------------------------------------------------------------- ------------
0 /dev/cl_FRA_dsk04 CANDIDATE
0 /dev/cl_FLEX_dsk02 CANDIDATE
0 /dev/cl_FRA_dsk05 CANDIDATE
0 /dev/cl_FRA_dsk06 CANDIDATE
0 /dev/cl_DATA_dsk10 CANDIDATE
0 /dev/cl_FLEX_dsk03 CANDIDATE
0 /dev/cl_DATA_dsk09 CANDIDATE
0 /dev/cl_FLEX_dsk05 CANDIDATE
0 /dev/cl_FRA_disk06 CANDIDATE
0 /dev/cl_DATA_dsk07 CANDIDATE
0 /dev/cl_FLEX_dsk01 CANDIDATE
GROUP_NUMBER PATH HEADER_STATU
------------ ---------------------------------------------------------------------------------------------------- ------------
0 /dev/cl_DATA_dsk08 CANDIDATE
0 /dev/cl_FRA_dsk03 CANDIDATE
0 /dev/cl_FRA_dsk02 CANDIDATE
0 /dev/cl_FRA_dsk01 CANDIDATE
0 /dev/cl_FLEX_dsk04 CANDIDATE
1 /dev/cl_DATA_dsk05 MEMBER
2 /dev/cl_MGMT_dsk02 MEMBER
2 /dev/cl_MGMT_dsk01 MEMBER
1 /dev/cl_DATA_dsk01 MEMBER
1 /dev/cl_DATA_dsk03 MEMBER
1 /dev/cl_DATA_dsk06 MEMBER
GROUP_NUMBER PATH HEADER_STATU
------------ ---------------------------------------------------------------------------------------------------- ------------
1 /dev/cl_DATA_dsk04 MEMBER
1 /dev/cl_DATA_dsk02 MEMBER
24 rows selected.
SQL>
SQL>
SQL> alter diskgroup DGDATA add disk '/dev/cl_FRA_disk06' REBALANCE POWER 11;
alter diskgroup DGDATA add disk '/dev/cl_FRA_disk06' REBALANCE POWER 11
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15260: permission denied on ASM disk group
SQL> exit
**注意:**从Oracle 11g之后,ASM的管理权限与数据库管理权限被分离。虽然使用的是sysdba账户,但SYSDBA权限已不再被允许执行创建或修改磁盘组这类ASM管理操作。这类操作现在需要SYSASM权限
3.5.2.ASM磁盘组添加成员磁盘(坑二)
bash
[grid@host03 ~]$ sqlplus / as sysasm
SQL*Plus: Release 19.0.0.0.0 - Production on Fri Aug 7 14:31:06 2026
Version 19.15.0.0.0
Copyright (c) 1982, 2022, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.15.0.0.0
SQL> alter diskgroup DGDATA add disk '/dev/cl_FRA_disk06' REBALANCE POWER 11;
alter diskgroup DGDATA add disk '/dev/cl_FRA_disk06' REBALANCE POWER 11
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15410: Disks in disk group DGDATA do not have equal size.
SQL>
SQL> alter diskgroup DGDATA rebalance power 11;
Diskgroup altered.
SQL> SELECT group_number, operation, state, power, actual, sofar, est_work, est_rate, est_minutes FROM V$ASM_OPERATION;
GROUP_NUMBER OPERA STAT POWER ACTUAL SOFAR EST_WORK EST_RATE
------------ ----- ---- ---------- ---------- ---------- ---------- ----------
EST_MINUTES
-----------
1 REBAL RUN 11 11 48 0 666
0
1 REBAL DONE 11 11 100 100 0
0
1 REBAL DONE 11 11 0 0 0
0
GROUP_NUMBER OPERA STAT POWER ACTUAL SOFAR EST_WORK EST_RATE
------------ ----- ---- ---------- ---------- ---------- ---------- ----------
EST_MINUTES
-----------
1 REBAL DONE 11 11 0 0 0
0
SQL> /
注意:这里报错的核心原因是因为新添加的磁盘 /dev/cl_FRA_disk06 与磁盘组 DGDATA 中现有磁盘的大小不一致导致,原磁盘为4G(4096),新增的盘为8G(8192)。
3.5.3.正确添加成员盘
把前面的两个坑采完了之后,基本上也就差不多了,重新修改内容,再次添加4块的候选盘即可。
bash
[grid@host03 ~]$ sqlplus / as sysasm
SQL*Plus: Release 19.0.0.0.0 - Production on Fri Aug 7 14:49:48 2026
Version 19.15.0.0.0
Copyright (c) 1982, 2022, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.15.0.0.0
SQL>
SQL> set line 400
SQL> col path for a30
SQL>
SQL> select group_number,path,TOTAL_MB,header_status from v$asm_disk;
GROUP_NUMBER PATH TOTAL_MB HEADER_STATU
------------ ------------------------------ ---------- ------------
0 /dev/cl_FRA_dsk04 0 CANDIDATE
0 /dev/cl_FLEX_dsk02 0 CANDIDATE
0 /dev/cl_FRA_dsk05 0 CANDIDATE
0 /dev/cl_FRA_dsk06 0 CANDIDATE
0 /dev/cl_DATA_dsk10 0 CANDIDATE
0 /dev/cl_FLEX_dsk03 0 CANDIDATE
0 /dev/cl_DATA_dsk09 0 CANDIDATE
0 /dev/cl_FLEX_dsk05 0 CANDIDATE
0 /dev/cl_FRA_disk06 0 CANDIDATE
0 /dev/cl_DATA_dsk07 0 CANDIDATE
0 /dev/cl_FLEX_dsk01 0 CANDIDATE
GROUP_NUMBER PATH TOTAL_MB HEADER_STATU
------------ ------------------------------ ---------- ------------
0 /dev/cl_DATA_dsk08 0 CANDIDATE
0 /dev/cl_FRA_dsk03 0 CANDIDATE
0 /dev/cl_FRA_dsk02 0 CANDIDATE
0 /dev/cl_FRA_dsk01 0 CANDIDATE
0 /dev/cl_FLEX_dsk04 0 CANDIDATE
1 /dev/cl_DATA_dsk05 4096 MEMBER
2 /dev/cl_MGMT_dsk02 20480 MEMBER
2 /dev/cl_MGMT_dsk01 20480 MEMBER
1 /dev/cl_DATA_dsk01 4096 MEMBER
1 /dev/cl_DATA_dsk03 4096 MEMBER
1 /dev/cl_DATA_dsk06 4096 MEMBER
GROUP_NUMBER PATH TOTAL_MB HEADER_STATU
------------ ------------------------------ ---------- ------------
1 /dev/cl_DATA_dsk04 4096 MEMBER
1 /dev/cl_DATA_dsk02 4096 MEMBER
24 rows selected.
SQL>
SQL> alter diskgroup DGdata add disk '/dev/cl_DATA_dsk07','/dev/cl_DATA_dsk08','/dev/cl_DATA_dsk09','/dev/cl_DATA_dsk10' rebalance power 15;
Diskgroup altered.
SQL> exit
3.6.修改闪回区配额(坑三)
**注意1:**这里由于我们使用的是闪回区作为归档日志的存放区域,所以需要修改这个参数,该参数属于动态参数,可以在线调整
注意2: 如果归档日志不是存放在共享存储里边,修改参数还需追加:sid = *
bash
[oracle@host03 ~]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Fri Aug 7 14:56:50 2026
Version 19.15.0.0.0
Copyright (c) 1982, 2022, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.15.0.0.0
SQL> show parameter recovery
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string +DGDATA
db_recovery_file_dest_size big integer 4G
recovery_parallelism integer 0
remote_recovery_file_dest string
SQL> alter system set db_recovery_file_dest_size=16G;
System altered.
SQL>
前往集群成员节点进行确认:

3.6.1.扩容结果
