1、添加新磁盘:
两个节点都操作,使用root用户
for i in j k; do
echo "KERNEL==\"sd*\",ENV{DEVTYPE}==\"disk\",SUBSYSTEM==\"block\",PROGRAM==\"/usr/lib/udev/scsi_id -g -u -d \$devnode\",RESULT==\"`/usr/lib/udev/scsi_id -g -u /dev/sd$i`\", RUN+=\"/bin/sh -c 'mknod /dev/asm-disk$i b \$major \$minor; chown grid:asmadmin /dev/asm-disk$i; chmod 0660 /dev/asm-disk$i'\"" >> /etc/udev/rules.d/99-oracle-asmdevices.rules
done
/sbin/udevadm trigger --type=devices --action=change
/sbin/udevadm control --reload
ll /dev/asm*
一个节点
[root@rac01 ~]# su - grid
Last login: Tue Apr 5 21:48:21 CST 2022 on pts/1
[grid@rac01 ~]$ asmcmd
ASMCMD> lsdg
State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED NORMAL N 512 512 4096 4194304 143360 123652 51200 36226 0 N DATA/
MOUNTED EXTERN N 512 512 4096 4194304 40960 39444 0 39444 0 N MGMT/
MOUNTED NORMAL N 512 512 4096 4194304 15360 14444 5120 4662 0 Y OCR/
[root@rac01 ~]# su - grid
Last login: Tue Apr 5 21:25:22 CST 2022 on pts/0
[grid@rac01 ~]$ sqlplus / as sysasm
SQL*Plus: Release 19.0.0.0.0 - Production on Tue Apr 5 21:51:11 2022
Version 19.12.0.0.0
Copyright (c) 1982, 2021, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.12.0.0.0
SQL> alter diskgroup DATA add disk '/dev/asm-diskj';
Diskgroup altered.
SQL> alter diskgroup DATA add disk '/dev/asm-diskk';
Diskgroup altered.
SQL> col name format a10
SQL> set line 9999
SQL> col path format a25
SQL> select GROUP_NUMBER,path,name,disk_number,total_mb,free_mb,CREATE_DATE,MOUNT_STATUS,MOUNT_DATE from v$asm_disk order by GROUP_NUMBER desc,disk_number;
GROUP_NUMBER PATH NAME DISK_NUMBER TOTAL_MB FREE_MB CREATE_DA MOUNT_S MOUNT_DAT
------------ ------------------------- ---------- ----------- ---------- ---------- --------- ------- ---------
3 AFD:OCR1 OCR1 0 5120 4812 19-SEP-21 CACHED 05-APR-22
3 AFD:OCR2 OCR2 1 5120 4820 19-SEP-21 CACHED 05-APR-22
3 AFD:OCR3 OCR3 2 5120 4812 19-SEP-21 CACHED 05-APR-22
2 AFD:MGMT1 MGMT1 0 40960 39444 19-SEP-21 CACHED 05-APR-22
1 AFD:DATA1 DATA1 0 51200 45304 20-SEP-21 CACHED 05-APR-22
1 AFD:DATA2 DATA2 1 51200 45304 20-SEP-21 CACHED 05-APR-22
1 /dev/asmdiskh DATA_0002 2 20480 17668 26-DEC-21 CACHED 05-APR-22
1 /dev/asmdiski DATA_0003 3 20480 17664 26-DEC-21 CACHED 05-APR-22
1 /dev/asm-diskj DATA_0004 4 8192 7016 05-APR-22 CACHED 05-APR-22
1 /dev/asm-diskk DATA_0005 5 8192 7008 05-APR-22 CACHED 05-APR-22
0 /dev/asmdiskd 0 0 0 19-SEP-21 IGNORED 05-APR-22
GROUP_NUMBER PATH NAME DISK_NUMBER TOTAL_MB FREE_MB CREATE_DA MOUNT_S MOUNT_DAT
------------ ------------------------- ---------- ----------- ---------- ---------- --------- ------- ---------
0 /dev/asmdiskb 1 0 0 20-SEP-21 IGNORED 05-APR-22
0 /dev/asmdiske 2 0 0 19-SEP-21 IGNORED 05-APR-22
0 /dev/asmdiskf 3 0 0 19-SEP-21 IGNORED 05-APR-22
0 /dev/asmdiskc 4 0 0 20-SEP-21 IGNORED 05-APR-22
0 /dev/asmdiskg 5 0 0 19-SEP-21 IGNORED 05-APR-22
16 rows selected.
SQL> select name,state,free_mb,required_mirror_free_mb,usable_file_mb from v$asm_diskgroup;
NAME STATE FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB
---------- ----------- ---------- ----------------------- --------------
DATA MOUNTED 139964 51200 44382
MGMT MOUNTED 39444 0 39444
OCR MOUNTED 14444 5120 4662
ASMCMD> lsdg
State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED NORMAL Y 512 512 4096 4194304 159744 139964 51200 44382 0 N DATA/
MOUNTED EXTERN N 512 512 4096 4194304 40960 39444 0 39444 0 N MGMT/
MOUNTED NORMAL N 512 512 4096 4194304 15360 14444 5120 4662 0 Y OCR/
Rebal为Y说明磁盘在做rebance
ASMCMD> lsdg
State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED NORMAL N 512 512 4096 4194304 159744 139964 51200 44382 0 N DATA/
MOUNTED EXTERN N 512 512 4096 4194304 40960 39444 0 39444 0 N MGMT/
MOUNTED NORMAL N 512 512 4096 4194304 15360 14444 5120 4662 0 Y OCR/
SQL> select * from gv$asm_operation;
no rows selected
2、删除旧磁盘
剔除DATA_0002和DATA_0003
SQL> alter diskgroup DATA drop disk DATA_0002;
Diskgroup altered.
SQL> alter diskgroup DATA drop disk DATA_0003;
Diskgroup altered.
3、做动态平衡
SQL> alter system set asm_power_limit = 6 sid='*' ;
System altered.
SQL> alter diskgroup DATA rebalance wait ;
Diskgroup altered.
SQL> select * from gv$asm_operation;
no rows selected
ASMCMD> lsdg
State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED NORMAL Y 512 512 4096 4194304 159744 139964 51200 44382 0 N DATA/
MOUNTED EXTERN N 512 512 4096 4194304 40960 39444 0 39444 0 N MGMT/
MOUNTED NORMAL N 512 512 4096 4194304 15360 14444 5120 4662 0 Y OCR/
ASMCMD> lsdg
State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED NORMAL N 512 512 4096 4194304 118784 99028 51200 23914 0 N DATA/
MOUNTED EXTERN N 512 512 4096 4194304 40960 39444 0 39444 0 N MGMT/
MOUNTED NORMAL N 512 512 4096 4194304 15360 14444 5120 4662 0 Y OCR/
ASMCMD>
4.查看是否完成
SQL> col name format a10
SQL> set line 9999
SQL> col path format a25
SQL> select GROUP_NUMBER,path,name,disk_number,total_mb,free_mb,CREATE_DATE,MOUNT_STATUS,MOUNT_DATE from v$asm_disk order by GROUP_NUMBER desc,disk_number;
GROUP_NUMBER PATH NAME DISK_NUMBER TOTAL_MB FREE_MB CREATE_DA MOUNT_S MOUNT_DAT
------------ ------------------------- ---------- ----------- ---------- ---------- --------- ------- ---------
3 AFD:OCR1 OCR1 0 5120 4812 19-SEP-21 CACHED 05-APR-22
3 AFD:OCR2 OCR2 1 5120 4820 19-SEP-21 CACHED 05-APR-22
3 AFD:OCR3 OCR3 2 5120 4812 19-SEP-21 CACHED 05-APR-22
2 AFD:MGMT1 MGMT1 0 40960 39444 19-SEP-21 CACHED 05-APR-22
1 AFD:DATA1 DATA1 0 51200 43272 20-SEP-21 CACHED 05-APR-22
1 AFD:DATA2 DATA2 1 51200 43272 20-SEP-21 CACHED 05-APR-22
1 /dev/asm-diskj DATA_0004 4 8192 6244 05-APR-22 CACHED 05-APR-22
1 /dev/asm-diskk DATA_0005 5 8192 6240 05-APR-22 CACHED 05-APR-22
0 /dev/asmdiskd 0 0 0 19-SEP-21 IGNORED 05-APR-22
0 /dev/asmdiskb 1 0 0 20-SEP-21 IGNORED 05-APR-22
0 /dev/asmdiski 2 0 0 26-DEC-21 CLOSED 05-APR-22
GROUP_NUMBER PATH NAME DISK_NUMBER TOTAL_MB FREE_MB CREATE_DA MOUNT_S MOUNT_DAT
------------ ------------------------- ---------- ----------- ---------- ---------- --------- ------- ---------
0 /dev/asmdiskh 3 0 0 26-DEC-21 CLOSED 05-APR-22
0 /dev/asmdiske 4 0 0 19-SEP-21 IGNORED 05-APR-22
0 /dev/asmdiskf 5 0 0 19-SEP-21 IGNORED 05-APR-22
0 /dev/asmdiskc 6 0 0 20-SEP-21 IGNORED 05-APR-22
0 /dev/asmdiskg 7 0 0 19-SEP-21 IGNORED 05-APR-22
16 rows selected.
SQL> select name,state,free_mb,required_mirror_free_mb,usable_file_mb from v$asm_diskgroup;
NAME STATE FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB
---------- ----------- ---------- ----------------------- --------------
DATA MOUNTED 99028 51200 23914
MGMT MOUNTED 39444 0 39444
OCR MOUNTED 14444 5120 4662
5.更新udev
更新udev,-- 2个节点都操作,修改如下文件/etc/udev/rules.d/99-oracle-asmdevices.rules,去掉刚才的diskh和diski
/sbin/udevadm trigger --type=devices --action=change
/sbin/udevadm control --reload
ll /dev/asm*