查看磁盘发现sde的分区sde1重新启动后,就消失了!
[grid@dell ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT ...... sde 8:64 0 1.8T 0 disk sdc 8:32 0 1.8T 0 disk `-vg_data-lv_data 252:2 0 5.5T 0 lvm /u01 ......
用fdisk检查,发现分区是有的!
[grid@dell ~]$ sudo fdisk /dev/sde Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): p Disk /dev/sde: 1999.8 GB, 1999844147200 bytes, 3905945600 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x47e2b635 Device Boot Start End Blocks Id System /dev/sde1 2048 3905945599 1952971776 83 Linux Command (m for help):
重新划分分区后,分区有了,重新启动后分区有没有了!
使用sysasm用户登录进去,查询磁盘的HEADER_STATU是MEMBER
[grid@dell ~]$ sqlplus / as sysasm SQL*Plus: Release 19.0.0.0.0 - Production on Sun Sep 27 13:49:37 2020 Version 19.3.0.0.0 SQL> select GROUP_NUMBER,NAME,HEADER_STATUS,TOTAL_MB,FREE_MB from V$ASM_DISK; GROUP_NUMBER NAME HEADER_STATU TOTAL_MB FREE_MB ------------ ------------------------------ ------------ ---------- ---------- 0 MEMBER 0 0 0 MEMBER 0 0
清除磁盘头信息
sudo dd if=/dev/zero of=/dev/sdh1 bs=1048576 count=50 sudo dd if=/dev/zero of=/dev/sdg1 bs=1048576 count=50 sudo dd if=/dev/zero of=/dev/sde1 bs=1048576 count=50
再查询,发现变成 CANDIDATE,也就是可以用于新的磁盘组。
[grid@dell ~]$ sqlplus / as sysasm SQL> select GROUP_NUMBER,NAME,HEADER_STATUS,TOTAL_MB,FREE_MB from V$ASM_DISK; GROUP_NUMBER NAME HEADER_STATU TOTAL_MB FREE_MB ------------ ------------------------------ ------------ ---------- ---------- 0 CANDIDATE 0 0 0 CANDIDATE 0 0
使用asmca创建磁盘,出错!
ORA-15018: diskgroup cannot be created ORA-15020: discovered duplicate ASM disk "DA3_0001"
发现是Disk Discovery Path出错,实际是没有设置。重新设置后在运行asmca,发现计划选择的磁盘HEADER_STATUS变成FORMER,不是CANDIDATE,在运行dd擦出一下磁盘头。
重新启动后,磁盘组又mount不成功!
在alert log里面有这样的提示:
/u01/app/19.0.0/grid/log/diag/asm/+asm/+ASM/trace/alert_+ASM.log WARNING: detected duplicate paths to the same disk: '/dev/asmdisks/asmdisk01' and '/dev/sdg1' ERROR: diskgroup DATA3 was not mounted ORA-15032: not all alterations performed ORA-15017: diskgroup "DATA3" cannot be mounted ORA-15040: diskgroup is incomplete
实际是参数asm_diskstring没有设置造成这两个磁盘重复,没有挂上,diskgroup is incomplete实际是唯一的磁盘没有挂上,手工可以挂上。
[grid@dell ~]$ sqlplus / as sysasm SQL> show parameter disk NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ asm_diskgroups string asm_diskstring string SQL> alter system set asm_diskstring='/dev/asmdisks'; System altered. SQL> alter diskgroup data3 mount; Diskgroup altered.
查看ASM的配置是正常的。
[grid@dell ~]$ srvctl config asm/dev/asmdisks ASM home: <CRS home> Password file: +DATA/orapwasm Backup of Password file: ASM listener: LISTENER Spfile: +DATA/ASM/ASMPARAMETERFILE/registry.253.1052047345 ASM diskgroup discovery string: /dev/asmdisks [grid@dell ~]$
创建一个pfile,内容是从alert log里面找到的,解决!
[grid@dell ~]$ cat $ORACLE_HOME/dbs/init+ASM.ora large_pool_size = 12M remote_login_passwordfile= "EXCLUSIVE" asm_diskstring = "/dev/asmdisks" asm_power_limit = 1 [grid@dell ~]$
重新启动也没有问题!
[grid@dell ~]$ srvctl status diskgroup -diskgroup data3 Disk Group data3 is running on dell