rac磁盘组扩容
添加节点到集群
srvctl add database -d orcl -o /u01/app/oracle/product/19.c/dbhome_1 -p ‘+DATA/RACTEST/PARAMETERFILE/spfile.’
wwid
# 安装 multipath 工具yuminstall-ydevice-mapper-multipath# 生成默认配置文件 /etc/multipath.confmpathconf--enable--with_multipathdy# 检查服务状态systemctl status multipathd[root@node1 ~]# /usr/lib/udev/scsi_id -g -u -d /dev/sdb1ATA_VBOX_HARDDISK_VB3d83b052-6556e617[root@node1 ~]# /usr/lib/udev/scsi_id -g -u -d /dev/sdc1ATA_VBOX_HARDDISK_VB51b504ff-4dfd06b3[root@node2 ~]# /usr/lib/udev/scsi_id -g -u -d /dev/sdb1ATA_VBOX_HARDDISK_VB3d83b052-6556e617[root@node2 ~]# /usr/lib/udev/scsi_id -g -u -d /dev/sdc1ATA_VBOX_HARDDISK_VB51b504ff-4dfd06b3配置multipath
# 默认配置defaults{user_friendly_namesyes# 使用友好名称}# 黑名单:排除本地盘,避免被多路径接管blacklist{devnode"^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"devnode"^sd[a-z][0-9]"}# 多路径设备定义multipaths{multipath{wwid 1ATA_VBOX_HARDDISK_VB3d83b052-6556e617aliasasm_ocr_1# 自定义别名,如 asm_ocr_1}multipath{wwid 1ATA_VBOX_HARDDISK_VB51b504ff-4dfd06b3aliasasm_data_1}}# 清除现有映射并重新加载配置multipath-Fmultipath-v2# 或者重启服务systemctl restart multipathd==============================================================defaults{user_friendly_namesyes# 使用友好名称}# 黑名单:排除本地盘,避免被多路径接管blacklist{devnode"^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"devnode"^sd[a-z][0-9]"}# 多路径设备定义multipaths{multipath{wwid 1ATA_VBOX_HARDDISK_VB3d83b052-6556e617aliasasm_ocr_1# 自定义别名,如 asm_ocr_1}multipath{wwid 1ATA_VBOX_HARDDISK_VB51b504ff-4dfd06b3aliasasm_data_1}}# 清除现有映射并重新加载配置multipath-Fmultipath-v2# 或者重启服务systemctl restart multipathd# 重新加载规则udevadm control --reload-rules# 触发设备事件,使新规则生效udevadm trigger--type=devices node2[orcl2]$ ll /dev/asm-* brw-rw----.1grid asmadmin253,1Jun2801:49 /dev/asm-data1 brw-rw----.1grid asmadmin253,0Jun2801:49 /dev/asm-data2 brw-rw----.1grid asmadmin253,2Jun2801:49 /dev/asm-ocr1 node2[orcl2]$asm磁盘组挂载
col NAMEfora25 colPATHfora40 col FAILGROUPfora25 col HEADER_STATUSfora15 col MOUNT_STATUSfora15 col MODE_STATUSfora10 SELECT name, state, total_mb, free_mb FROMv$asm_diskgroup;SELECT name, total_mb, free_mb,(free_mb/total_mb)*100 as free_percent FROMv$asm_diskgroup;SQL>SELECT group_number, disk_number, name, path, total_mb, free_mb FROMv$asm_disk;-- 查看所有磁盘详细信息selectGROUP_NUMBER, DISK_NUMBER, NAME,PATH, FAILGROUP, HEADER_STATUS, MOUNT_STATUS, MODE_STATUS, STATE, TOTAL_MB, FREE_MB fromv$asm_diskorder by GROUP_NUMBER, DISK_NUMBER;GROUP_NUMBER DISK_NUMBER NAMEPATHFAILGROUP HEADER_STATUS MOUNT_STATUS MODE_STATU STATE TOTAL_MB FREE_MB ------------ ----------- ------------------------- -------------------- ------------------------- --------------- --------------- ---------- ---------- -------- -------00/dev/asm-data2 CANDIDATE CLOSED ONLINE NORMAL0010DATA_0000 /dev/asm-data1 DATA_0000 MEMBER CACHED ONLINE NORMAL204801090020OCR_0000 /dev/asm-ocr1 OCR_0000 MEMBER CACHED ONLINE NORMAL51204780-- 查看是否有进行中的操作select* fromv$asm_operation;SQL>no rows selected -- 使用grid用户执行 sqlplus / as sysasm -- 查询可用的新磁盘(GROUP_NUMBER为0表示未使用的磁盘) colPATHfora40 col NAMEfora20 col HEADER_STATUSfora15selectGROUP_NUMBER, DISK_NUMBER, NAME,PATH, HEADER_STATUS fromv$asm_diskwhere GROUP_NUMBER=0and HEADER_STATUSin('CANDIDATE','PROVISIONED');GROUP_NUMBER DISK_NUMBER NAMEPATHHEADER_STATUS ------------ ----------- -------------------- ---------------------------------------- ---------------00/dev/asm-data2 CANDIDATE -- 查看所有磁盘详细信息selectGROUP_NUMBER, DISK_NUMBER, NAME,PATH, FAILGROUP, HEADER_STATUS, MOUNT_STATUS, MODE_STATUS, STATE, TOTAL_MB, FREE_MB fromv$asm_diskorder by GROUP_NUMBER, DISK_NUMBER;GROUP_NUMBER DISK_NUMBER NAMEPATHFAILGROUP HEADER_STATUS MOUNT_STATUS MODE_STATU STATE TOTAL_MB FREE_MB ------------ ----------- ------------------------- -------------------- ------------------------- --------------- --------------- ---------- ---------- -------- -------00/dev/asm-data2 CANDIDATE CLOSED ONLINE NORMAL0010DATA_0000 /dev/asm-data1 DATA_0000 MEMBER CACHED ONLINE NORMAL204801090020OCR_0000 /dev/asm-ocr1 OCR_0000 MEMBER CACHED ONLINE NORMAL51204780添加磁盘到ASM磁盘组 -- 选择适当的重平衡级别(POWER1-11) -- 生产环境推荐POWER3-5,业务低峰期可设为8-10 SQL>alter diskgroup DATAadddisk'/dev/asm-data2'name DATA_0002 rebalance power5;Diskgroup altered. 替换磁盘操作(同时添加新盘并删除旧盘):--几乎用不到 alter diskgroup DATAadddisk'/dev/mapper/data15','/dev/mapper/data16'drop disk'DATA_0000','DATA_0001'rebalance power10;监控重平衡进度 -- 查看重平衡操作进度 col OPERATIONfora10 col STATEfora10 col EST_MINUTESfor9999selectOPERATION, STATE, POWER, ACTUAL, SOFAR, EST_WORK, EST_RATE, EST_MINUTES fromv$asm_operation;-- 实时查看磁盘组状态变更selectNAME, STATE, TYPE, TOTAL_MB/1024 TOTAL_GB, FREE_MB/1024 FREE_GB, round((FREE_MB/TOTAL_MB)*100,2)PCT_FREE fromv$asm_diskgroup;验证磁盘组空间 -- 设置格式化输出 col NAMEfora20 col TOTAL_GBfor99999.99col FREE_GBfor99999.99col PCT_USEDfora10 -- 查看磁盘组空间使用情况selectNAME, TOTAL_MB/1024 TOTAL_GB, FREE_MB/1024 FREE_GB, round((1- FREE_MB/TOTAL_MB)*100,2)PCT_USED fromv$asm_diskgroup;验证新磁盘状态 -- 查看新添加的磁盘详细信息 col NAMEfora25 colPATHfora40 col FAILGROUPfora25 col HEADER_STATUSfora15 col MOUNT_STATUSfora15 col MODE_STATUSfora10selectGROUP_NUMBER, DISK_NUMBER, NAME,PATH, FAILGROUP, HEADER_STATUS, MOUNT_STATUS, MODE_STATUS, STATE, TOTAL_MB, FREE_MB fromv$asm_diskwhere GROUP_NUMBER>0order by GROUP_NUMBER, DISK_NUMBER;GROUP_NUMBER DISK_NUMBER NAMEPATHFAILGROUP HEADER_STATUS MOUNT_STATUS MODE_STATU STATE TOTAL_MB FREE_MB ------------ ----------- ------------------------- -------------------- ------------------------- --------------- --------------- ---------- ---------- -------- -------10DATA_0000 /dev/asm-data1 DATA_0000 MEMBER CACHED ONLINE NORMAL204801281211DATA_0002 /dev/asm-data2 DATA_0002 MEMBER CACHED ONLINE NORMAL5120319220OCR_0000 /dev/asm-ocr1 OCR_0000 MEMBER CACHED ONLINE NORMAL51204780跨节点验证一致性 在每个RAC节点上执行,确认结果一致: -- 所有节点的输出应该完全一致selectGROUP_NUMBER, DISK_NUMBER, NAME,PATH, MOUNT_STATUS, STATE, TOTAL_MB fromv$asm_diskwhere GROUP_NUMBER>0order by GROUP_NUMBER, DISK_NUMBER;GROUP_NUMBER DISK_NUMBER NAMEPATHMOUNT_STATUS STATE TOTAL_MB ------------ ----------- ------------------------- -------------------- --------------- ---------- --------10DATA_0000 /dev/asm-data1 CACHED NORMAL2048011DATA_0002 /dev/asm-data2 CACHED NORMAL512020OCR_0000 /dev/asm-ocr1 CACHED NORMAL5120