问题描述
故障日志
SQL> alter diskgroup DATADG_DQ add disk '/dev/rdsk/c6t60060E80100A9F40053021FC00000017d0s6'; alter diskgroup DATADG_DQ add disk '/dev/rdsk/c6t60060E80100A9F40053021FC00000017d0s6' * ERROR at line 1: ORA-15032: not all alterations performed ORA-15075: disk(s) are not visible cluster-wide ORA-15080: synchronous I/O operation to a disk failed
专家解答
一般出现该错误主要是由于磁盘在两个节点不是共享导致,本文档诊断是否一致磁盘
$> ls -lrt /dev/rdsk/c6t60060E80100A9F40053021FC00000017d0s6
lrwxrwxrwx 1 root root 67 Apr 14 12:45 /dev/rdsk/c6t60060E80100A9F40053021FC00000017d0s6 -> ../../devices/scsi_vhci/ssd@g60060e80100a9f40053021fc00000017:g,raw
$> ls -lrt /devices/scsi_vhci/ssd@g60060e80100a9f40053021fc00000017:g,raw
crw-r----- 1 root sys 118, 278 Apr 25 14:14 /devices/scsi_vhci/ssd@g60060e80100a9f40053021fc00000017:g,raw
权限不正确需要重新赋予权限
chown oracle:dba /dev/rdsk/c6t60060E80100A9F40053021FC00000017d0s6
echo "This information should be visible from each node to prove that this "c6t60060E80100A9F40053021FC00000017d0s6" disk device is shared among all the RAC nodes" >> fakedata.txt
chown oracle:dba /dev/rdsk/c6t60060E80100A9F40053021FC00000017d0s6dd if=/home/oracle/test/fakedata.txt of=/dev/rdsk/c6t60060E80100A9F40053021FC00000017d0s6 bs=4096 count=1 conv=notrunc
使用dd命令在一个节点中写入磁盘数据
在另外一个节点中检查文件是否可以看到
od -c /dev/rdsk/c6t60060E80100A9F40053021FC00000017d0s6 | more
0000000 = = = = = = = = = = = = = = = =
0000020 = = = = = = \n T u e A p r 2
0000040 6 1 4 : 4 1 : 5 0 E D T 2
0000060 0 1 1 \n T h i s i n f o r m a
0000100 t i o n s h o u l d b e v i s i
0000120 b l e f r o m e a c h n o
0000140 d e t o p r o v e t h a t
0000160 t h i s c 6 t 6 0 0 6 0 E 8
0000200 0 1 0 0 A 9 F 4 0 0 5 3 0 2 1 F
0000220 C 0 0 0 0 0 0 1 7 d 0 s 6 d i
0000240 s k d e v i c e i s s h a
0000260 r e d a m o n g a l l t h
0000300 e R A C n o d e s \n = = = =
0000320 = = = = = = = = = = = = = = = =
0000340 = = \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0000360 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
*
3720000
如果内容不是以上则不是共享磁盘,需要检查存储链路。