共计 2016 个字符,预计需要花费 6 分钟才能阅读完成。
这篇文章给大家分享的是有关 ASM Disk 丢失怎么办的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。
现象:
一台虚拟机强制重启后,ASM 磁盘丢失,具体现象为:
[root@ora01 disks]# oracleasm status
Checking if ASM is loaded: yes
Checking if /dev/oracleasm is mounted: yes
ASM 驱动加载正常
[root@ora01 disks]# oracleasm listdisks —— 无 ASM 磁盘列出
进入到 /dev/oracleasm/disks 下
[root@ora01 disks]# ls -ltr
total 0
无法发现磁盘文件。
当然对应的磁盘组也就无法正常挂载了,数据库也无法正常启动。
解决方法:
通过 dump ASM 磁盘头查看,
[root@ora01 ~]# dd if=/dev/xvdc1 of=./d1 bs=4K count=1
1+0 records in
1+0 records out
4096 bytes (4.1 kB) copied, 0.000977898 s, 4.2 MB/s
[root@ora01 ~]# hexdump d1
0000000 8201 0101 0000 0000 0000 8000 2b02 d695
0000010 0000 0000 0000 0000 0000 0000 0000 0000
0000020 524f 4c43 4944 4b53 0000 0000 0000 0000
0000030 0000 0000 0000 0000 0000 0000 0000 0000
0000040 0000 0c10 0000 0302 4144 4154 3130 0000
0000050 0000 0000 0000 0000 0000 0000 0000 0000
0000060 0000 0000 0000 0000 4144 4154 0000 0000
0000070 0000 0000 0000 0000 0000 0000 0000 0000
0000080 0000 0000 0000 0000 4144 4154 3130 0000
0000090 0000 0000 0000 0000 0000 0000 0000 0000
*
00000c0 0000 0000 0000 0000 6e10 01f8 0000 c59c
00000d0 7289 01f8 6800 7f26 0200 1000 0000 0010
00000e0 bc80 0001 77ff 0000 0003 0000 0001 0000
00000f0 0002 0000 000a 0000 0000 0000 0000 0000
0000100 0000 0a10 6e10 01f8 8800 c599 0000 0000
0000110 0000 0000 003c 0000 0001 0000 0001 0000
0000120 0000 0000 0000 0000 140a 2c01 bd86 5a39
0000130 0000 0000 0000 0000 0000 0000 0000 0000
*
0000160 0000 0000 0100 0c20 0000 0000 0000 0000
0000170 0000 0000 0000 0000 0000 0000 0000 0000
*
0001000
通过与正常的 ASM 磁盘头对比,并没有发现明显的异常,所以尝试手工建立 ASM 磁盘与设备的关系:
[root@ora01 disks]# mknod DATA01 b 202 33
[root@ora01 disks]# mknod DATA02 b 202 49
[root@ora01 disks]# chown grid:asmadmin ./*
[root@ora01 disks]# chmod g+w ./*
[root@ora01 disks]# chmod o-r ./*
这里通过 mknod 手工为 ASM 及设备建立了对应关系,然后用 oracleasm listdisks 查看:
[root@ora01 disks]# oracleasm listdisks
DATA01
DATA02
确实已经识别出了 ASM 磁盘,这时尝试挂载磁盘组:
SQL alter diskgroup DATA mount;
Diskgroup altered.
磁盘组正确挂载。数据正常启动。
但是用 oracleasm scandisks 命令时:
[root@ora01 disks]# oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks…
Cleaning disk DATA01
Cleaning disk DATA02
Scanning system for ASM disks…
会发现手工创建的两个 ASM 磁盘为 stale 状态,会被 asm 驱动清理掉,这个后续再研究。至少现在能保证正常使用了。
感谢各位的阅读!关于“ASM Disk 丢失怎么办”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!