ASM Disk丟失的臨時解決方法

Jet_Zhang發表於2018-02-06
現象:
一臺虛擬機器強制重啟後,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驅動清理掉,這個後續再研究。至少現在能保證正常使用了。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13885898/viewspace-2150903/,如需轉載,請註明出處,否則將追究法律責任。

相關文章