共計 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 丟失怎么辦”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!