ASM Disk丟失的臨時解決方法
現象:
一臺虛擬機器強制重啟後,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.
一臺虛擬機器強制重啟後,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驅動清理掉,這個後續再研究。至少現在能保證正常使用了。但是用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...
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13885898/viewspace-2150903/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【redo】日誌檔案的丟失解決方法
- vcruntime140.dll丟失的解決方法
- react-dnd中context丟失解決方法ReactContext
- 聯機日誌檔案丟失解決方法
- 單重繼承缺陷的臨時解決方法繼承
- 臨時表空間過大的解決方法
- 臨時表空間已滿的解決方法
- 詳細講述 Oracle 密碼丟失解決方法Oracle密碼
- 聯機日誌檔案丟失解決方法(二)
- 聯機日誌檔案丟失解決方法(一)
- 丟失Oracle中資料檔案Ora時的解決辦法Oracle
- Win10系統下所有字型丟失的解決方法Win10
- 歸檔模式下的日誌檔案丟失的解決方法模式
- drop asm disk、撤銷drop asm diskASM
- 臨時表空間在非歸檔模式下丟失模式
- 各類unix和linux密碼丟失解決方法Linux密碼
- . 資料庫臨時表空間的資料檔案的丟失資料庫
- WP_Image_Editor_Imagick 漏洞臨時解決方法
- 手工建立ASM Disk Groups、為 ASM Disk Groups 新增 diskASM
- 各類unix和linux密碼丟失解決方法(轉)Linux密碼
- 各類unix和linux密碼丟失解決方法(zt)Linux密碼
- MySQL的root密碼忘記或丟失的解決方法一例MySql密碼
- RocketMq訊息丟失問題解決MQ
- JavaScript精度丟失原因以及解決方案JavaScript
- Nginx session丟失問題處理解決方法NginxSession
- Asm disk managerASM
- Feign 呼叫丟失Header的解決方案Header
- 高併發下丟失更新的解決方案
- mysql丟失root密碼的解決辦法MySql密碼
- session丟失與解決辦法的資料Session
- Session莫名丟失的原因及解決辦法Session
- Session丟失的解決辦法小結 (轉)Session
- ntldr is missing怎麼解決 ntldr丟失的解決辦法
- ASM磁碟組丟失member kfed修復ASM
- 09.redis 哨兵主備切換時資料丟失的解決方案Redis
- 如何使用Disk Drill 3為macOS恢復丟失的資料?Mac
- Oracle聯機日誌檔案丟失解決方法一例Oracle
- win10 計算機丟失logmanager怎麼辦 win10丟失log.dll檔案的解決方法Win10計算機