ORA-15032,ORA-15075(磁盘组添加磁盘报错)

一:版本信息

操作系统版本 AIX 6109

数据库版本  11.2.0.3(PSU5)

 

二:错误描述

在给asm磁盘组添加磁盘的时候报如下错误

ORA-15032: not all alterations performed 
Cause: At least one ALTER DISKGROUP action failed.
 Action: Check the other messages issued along with this summary error.
ORA-15075: disk(s) are not visible cluster-wide 
Cause: An ALTER DISKGROUP ADD DISK command specified a disk that could not be discovered by one or more nodes in a RAC cluster configuration.
 Action: Determine which disks are causing the problem from the GV$OSM_DISK fixed view. Check operating system permissions for the device and the storage sub-system configuration on each node in a RAC cluster that cannot identify the disk.

#根据ORA-15075报错信息我们已经能够大概知道报错的原因了,应该是因为我们添加的磁盘组不是在所有的rac节点都是可见的。根据这个思路我去操作系统上看了一下,发现在rac的第二个节点上磁盘的属主和属组是root,看来这就是问题所在了。

 

三:解决方案

1. 在两个节点上查看一下目前磁盘信息

节点1

<p>SQL> select GROUP_NUMBER,DISK_NUMBER,MOUNT_STATUS,HEADER_STATUS,NAME,PATH from v$asm_disk;    </p><p>GROUP_NUMBER DISK_NUMBER MOUNT_S HEADER_STATU NAME                           PATH
------------ ----------- ------- ------------ ------------------------------ --------------------------------------------------
           1           0 CACHED  MEMBER       CRSDG_0000                     /dev/rhdiskpower0
           1           1 CACHED  MEMBER       CRSDG_0001                     /dev/rhdiskpower1
........
           4          41 CACHED  MEMBER       DATA1DG_0041                   /dev/rhdiskpower223
           4          42 CACHED  MEMBER       DATA1DG_0042                   /dev/rhdiskpower224
           0           1 CLOSED  FORMER                                      /dev/rhdiskpower226
           0           0 CLOSED  FORMER                                      /dev/rhdiskpower225
</p>


节点2

<p>SQL> select GROUP_NUMBER,DISK_NUMBER,MOUNT_STATUS,HEADER_STATUS,NAME,PATH from v$asm_disk;    </p><p>GROUP_NUMBER DISK_NUMBER MOUNT_S HEADER_STATU NAME                           PATH
------------ ----------- ------- ------------ ------------------------------ --------------------------------------------------
           1           0 CACHED  MEMBER       CRSDG_0000                     /dev/rhdiskpower0
           1           1 CACHED  MEMBER       CRSDG_0001                     /dev/rhdiskpower1
........
           4          41 CACHED  MEMBER       DATA1DG_0041                   /dev/rhdiskpower223
           4          42 CACHED  MEMBER       DATA1DG_0042                   /dev/rhdiskpower224</p>

#我是在节点1上执行的磁盘添加操作。在第一个节点上我们可以看到两个GROUP_NUMBER为0,HEADER_STATUS为FORMER的磁盘rhdiskpower225和rhdiskpower226(即我所添加的两块磁盘),但是在节点二上并未查到

 

2. 在节点2上修改rhdiskpower225和rhdiskpower226属组,属主和权限使ASM能够使用

修改后再次查询两个节点asm disk信息

节点1

SQL> select GROUP_NUMBER,DISK_NUMBER,MOUNT_STATUS,HEADER_STATUS,NAME,PATH from v$asm_disk;    

GROUP_NUMBER DISK_NUMBER MOUNT_S HEADER_STATU NAME                           PATH
------------ ----------- ------- ------------ ------------------------------ --------------------------------------------------
           1           0 CACHED  MEMBER       CRSDG_0000                     /dev/rhdiskpower0
           1           1 CACHED  MEMBER       CRSDG_0001                     /dev/rhdiskpower1
........
           4          41 CACHED  MEMBER       DATA1DG_0041                   /dev/rhdiskpower223
           4          42 CACHED  MEMBER       DATA1DG_0042                   /dev/rhdiskpower224
           0           1 CLOSED  FORMER                                      /dev/rhdiskpower226
           0           0 CLOSED  FORMER                                      /dev/rhdiskpower225


节点2

SQL> select GROUP_NUMBER,DISK_NUMBER,MOUNT_STATUS,HEADER_STATUS,NAME,PATH from v$asm_disk;    

GROUP_NUMBER DISK_NUMBER MOUNT_S HEADER_STATU NAME                           PATH
------------ ----------- ------- ------------ ------------------------------ --------------------------------------------------
           1           0 CACHED  MEMBER       CRSDG_0000                     /dev/rhdiskpower0
           1           1 CACHED  MEMBER       CRSDG_0001                     /dev/rhdiskpower1
........
           4          41 CACHED  MEMBER       DATA1DG_0041                   /dev/rhdiskpower223
           4          42 CACHED  MEMBER       DATA1DG_0042                   /dev/rhdiskpower224
           0           1 CLOSED  FORMER                                      /dev/rhdiskpower226
           0           0 CLOSED  FORMER                                      /dev/rhdiskpower225

#节点1和2 都出现了225和226两块盘(在v$asm_diskgroup中没有0这个磁盘组)

 

3.再次执行添加磁盘的操作

 

4.磁盘添加成功

 

##因为之前未处理过该错误,刚开始发现两块磁盘已经在v$asm_disk视图中能够查到了,那是不是应该先删除掉这两块磁盘然后再重新添加呢?但是发现4号磁盘组里(我添加的目标磁盘组)没有这两块磁盘,v$asm_diskgroup中也没有0号磁盘组。那我要怎么删呢?还是求助MOS,找到下面的讨论

How to remove ASM disk from v$asm_disk with "FORMER" status 里面有这样一段话

As we see the header_status as FORMER and group_number as zero, this disk is not a part of any diskgroup. So there is no need to drop again. Just to be absolutely sure, you can query gv$asm_operation to see no rows, to confirm there is no pending rebalance.
This disk can be removed from the OS, then you will not see the row in v$asm_disk. You can also change the ownership/permission of this disk, say to root:disk / 600, and then also the row will disappear from v$asm_disk.

这里面说了“header_status为FORMER,group_number为0 的磁盘不属于任何一个磁盘组”,所以直接再次执行add disk没有问题。


 

你可能感兴趣的:(all,not,not,are,disks,ORA-15075,ORA-15032,visibl,alterations)