本文主要是介绍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没有问题。
这篇关于ORA-15032,ORA-15075(磁盘组添加磁盘报错)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!