1. 程式人生 > >ASM 無法發現候選磁碟組----丟失的ASM磁碟組 ASM的磁碟組無法掛載

ASM 無法發現候選磁碟組----丟失的ASM磁碟組 ASM的磁碟組無法掛載

近日遇到一個問題,ASM的磁碟組無法掛載,之前是正常的,由於一些其他的操作,資料庫啟動失敗,當問題排除時候,發現在資料庫整體啟動時,掛載磁碟組的環節出現問題。

環境介紹

#########################################

硬體:Vmware ESX虛擬機器

OS: Red hat linux 5

Oracle version: 11.2.0.2

ASM disk是通過 asmlib掛載的

這個磁碟組只有一個虛擬出的硬碟,是 /dev/sdb1.

#########################################

下面是我整個分析的過程

1. 首先通過ASM alert.log,發現如下錯誤,磁碟掛載失敗,無法找到磁碟組

  1. SQL> alter diskgroup DATA mount  
  2. NOTE: cache registered group DATA number=1incarn=0xc28a1e2d
  3. NOTE: cache began mount (first) of group DATA number=1incarn=0xc28a1e2d
  4. Tue Dec 11 18:06:55 2012  
  5. ERROR: no PST quorum in group: required 2, found 0                                        <
    <<<<<<<<<<
  6. NOTE: cache dismounting (clean) group 1/0xC28A1E2D (DATA)  
  7. NOTE: dbwr not being msg'd to dismount  
  8. NOTE: lgwr not being msg'd to dismount  
  9. NOTE: cache dismounted group 1/0xC28A1E2D (DATA)  
  10. NOTE: cache ending mount (fail) of group DATA number=1incarn=0xc28a1e2d
  11. NOTE: cache deleting context for group DATA 1/0xc28a1e2d  
  12. GMON dismounting group 1 at 8 for pid 17, osid 32163  
  13. ERROR: diskgroup DATA was not mounted  
  14. ORA-15032: not all alterations performed  
  15. ORA-15017: diskgroup "DATA" cannot be mounted  
  16. ORA-15063: ASM discovered an insufficient number of disks for diskgroup "DATA"  
  17. ERROR: alter diskgroup DATA mount 

2. 首先檢查ASM pfile 檔案,未發現異常

  1. asm_diskgroups='DATA'
  2. instance_type='asm'
  3. large_pool_size=12M
  4. remote_login_passwordfile='EXCLUSIVE'

3. 嘗試通過以下命令檢查磁碟是否物理存在,是如何對應物理裝置的,發現查詢不到ASM磁碟

  1. [[email protected]_test ~]$ kfod disks=all
  2. ----Non output---- 
  3. [[email protected]_test peer]$ cd /dev/oracleasm/disks/  
  4. [[email protected]_test disks]$ ls 
  5. ----Non output---- 
  6. [[email protected]_test disks]$ /etc/init.d/oracleasm listdisks 
  7. ----Non output---- 

  4. 但是直接檢查物理裝置,/dev/sdb1是存在的,說明OS已經識別該硬碟裝置,只是ASMlib無法正常識別:

  1. 查詢對應的物理硬碟
  2. [[email protected] ~]$ /etc/init.d/oracleasm querydisk -d disk1 Disk "DISK1" is a valid ASM disk on device [8,17]

  3. [[email protected] ~]$ ls -l /dev/ |grep 8|grep 17 brw-r----- 1 root disk 8, 17 Oct 16 14:01 sdb1

  4. [[email protected]_test ~]# ls -lst /dev/sd*  
  5. 0 brw-r----- 1 root disk 8,  0 Dec 11 19:29 /dev/sda  
  6. 0 brw-r----- 1 root disk 8,  2 Dec 11 19:29 /dev/sda2  
  7. 0 brw-r----- 1 root disk 8, 16 Dec 11 19:29 /dev/sdb  
  8. 0 brw-r----- 1 root disk 8, 17 Dec 11 19:29 /dev/sdb1  <<<<<<<This is the missed diskgroup  
  9. 0 brw-r----- 1 root disk 8,  1 Dec 11 11:29 /dev/sda1 

5. 起先是考慮是否是磁碟頭損害,導致無法ASMlib識別該磁碟, dump磁碟頭髮現沒有問題. 

  1. #od -c /dev/sdb1 
  2. …… 
  3. 0000040   O   R   C   L   D   I   S   K   D   A   T   A   D   G   0   1 
  4. …… 
  5. 7760040   O   R   C   L   D   I   S   K   D   A   T   A   D   G   0   1 

這裡補充下,如果磁碟頭資訊丟失,將會顯示如下

  1. 0000040 O R C L D I S K \0 \0 \0 \0 \0 \0 \0 \0 

如果顯示這個結果,需要通過以下方式renamedisk,具體可以參考文件Oracleasm Listdisks Cannot See Disks (Doc ID 392527.1)

  1. Use the "oracleasm renamedisk" utility to add an asmlib label to the disk:  
  2. /etc/init.d/oracleasm renamedisk /dev/<device><asmlib_label>
  3. If it fails, use the "-f" switch:  
  4. /etc/init.d/oracleasm renamedisk -f /dev/<device><asmlib_label>

  6. 重啟ASMLib ,檢查是否是ASMLib 問題

  1. [[email protected]_test ~]# /etc/init.d/oracleasm restart 
  2. Dropping Oracle ASMLib disks: 
  3. [  OK  ] 
  4. Shutting down the Oracle ASMLib driver: [FAILED] 

檢查檔案系統oracleasm檔案系統已經成功掛載

  1. [[email protected]_test ~]# df -ha 
  2. Filesystem            Size  Used Avail Use% Mounted on 
  3. …… 
  4. oracleasmfs              0     0     0   -  /dev/oracleasm 

7. 檢查 /dev/sdb1狀態,檢視是否已經marked為ASM disk,顯示已經標記成功

  1. [[email protected]_test ~]# oracleasm querydisk /dev/sdb1 
  2. Device "/dev/sdb1" is marked an ASM disk with the label "DATADG01" 
  3. [[email protected]_test ~]# /sbin/service oracleasm scandisks 
  4. Scanning the system for Oracle ASMLib disks: 
  5. [  OK  ] 
  6. [[email protected]_test ~]# /etc/init.d/oracleasm listdisks 
  7. ----Non output--- 

8. 檢查 rpm package也沒有問題

  1. [[email protected]_test ~]$ rpm -qa|grep oracleasm  
  2. oracleasmlib-2.0.4-1.el5  
  3. oracleasm-support-2.1.7-1.el5  
  4. oracleasm-2.6.18-308.el5-2.0.5-1.el5  

9. 收集 Kfed logs,沒有檢查到異常新資訊。

  1. [[email protected]_test ~]# /oracle/ora11g/product/app/grid/bin/kfed read /dev/sdb1 
  2. kfbh.endian:                          1 ; 0x000: 0x01 
  3. kfbh.hard:                          130 ; 0x001: 0x82 
  4. kfbh.type:                            1 ; 0x002: KFBTYP_DISKHEAD 
  5. kfbh.datfmt:                          1 ; 0x003: 0x01 
  6. kfbh.block.blk:                       0 ; 0x004: T=0NUMB=0x0
  7. kfbh.block.obj:              2147483648 ; 0x008: TYPE=0x8NUMB=0x0
  8. kfbh.check:                  3351358462 ; 0x00c: 0xc7c1abfe 
  9. kfbh.fcn.base:                        0 ; 0x010: 0x00000000 
  10. kfbh.fcn.wrap:                        0 ; 0x014: 0x00000000 
  11. kfbh.spare1:                          0 ; 0x018: 0x00000000 
  12. kfbh.spare2:                          0 ; 0x01c: 0x00000000 
  13. kfdhdb.driver.provstr: ORCLDISKDATADG01 ; 0x000: length=16
  14. kfdhdb.driver.reserved[0]:   1096040772 ; 0x008: 0x41544144 
  15. kfdhdb.driver.reserved[1]:    825247556 ; 0x00c: 0x31304744 
  16. kfdhdb.driver.reserved[2]:            0 ; 0x010: 0x00000000 
  17. kfdhdb.driver.reserved[3]:            0 ; 0x014: 0x00000000 
  18. kfdhdb.driver.reserved[4]:            0 ; 0x018: 0x00000000 
  19. kfdhdb.driver.reserved[5]:            0 ; 0x01c: 0x00000000 
  20. kfdhdb.compat:                186646528 ; 0x020: 0x0b200000 
  21. kfdhdb.dsknum:                        0 ; 0x024: 0x0000 
  22. kfdhdb.grptyp:                        1 ; 0x026: KFDGTP_EXTERNAL 
  23. kfdhdb.hdrsts:                        3 ; 0x027: KFDHDR_MEMBER 
  24. kfdhdb.dskname:                DATADG01 ; 0x028: length=8
  25. kfdhdb.grpname:                    DATA ; 0x048: length=4
  26. kfdhdb.fgname:                 DATADG01 ; 0x068: length=8
  27. kfdhdb.capname:                         ; 0x088: length=0
  28. kfdhdb.crestmp.hi:             32977140 ; 0x0a8: HOUR=0x14DAYS=0x7MNTH=0xcYEAR=

    相關推薦

    ASM 無法發現候選磁碟----丟失ASM磁碟 ASM磁碟無法掛載

    近日遇到一個問題,ASM的磁碟組無法掛載,之前是正常的,由於一些其他的操作,資料庫啟動失敗,當問題排除時候,發現在資料庫整體啟動時,掛載磁碟組的環節出現問題。 環境介紹 #######################################

    oracle 12c dbca 無法發現 asm diskgroup

    參考 detail edge all gdb asmadmin pdb rst rac DBCA 日誌 路徑[root@oracle73 ~]# cd /u01/app/oracle/cfgtoollogs/dbca/[root@oracle73 dbca]# lltot

    asm 磁碟分割槽丟失恢復----惜分飛

    有朋友反饋,他們做了xx儲存的雙活之後,重啟主機發現gi無法正常啟動,分析發現所有該儲存的磁碟分割槽資訊丟失,導致asmlib無法發現磁碟(使用分割槽做asm disk)類似如下錯誤(磁碟分割槽丟失) --

    規劃ASM DISK GROUP、檢視asm 磁碟當前狀態、mount or dismount 磁碟、檢查磁碟 metadata 的內部一致性

    規劃ASM DISK GROUP: 1. 每個磁碟組裡的磁碟應該大小、效能、新舊等一致,不能有太大差距 2. 對database files 和 fast recovery area 分別建立不同的diskgroup。 一般來說我們也可以把備份檔案存放到FRA裡。 

    oracle asm磁碟標籤丟失導致整個叢集和資料庫啟動失敗

    應用環境描述一、硬體1、 伺服器:2臺dell r610—16G記憶體、2顆6核xeon cpu、2個146G sas盤,做了raid12、 儲存:dell MD3220 24個300G硬碟3、 儲存連線:6GB HBA卡,2個通道都連線了二、軟體1、 系統:64位centos 5.52、 系統核心版本:Li

    oracle grid ocr磁碟丟失恢復

    版本:11.2.0.4.0 Reference : OCR / Vote disk Maintenance Operations: (ADD/REMOVE/REPLACE/MOVE) (Doc ID 428681.1) CRS-4256 CRS-4602 While Replacing Voting

    IOS 可以連接 藍牙BLE設備,但是無法發現服務(原創)

    支持 直接 flags 手機 ddr second color 一次 發現 註:轉載請標明文章來源,感謝支持作者勞動! 一、問題描述 用iphone手機上的nRF connect軟件調試藍牙通信。 1、nRF52藍牙demo電路板,燒錄一個SDK

    SpringBoot | 問題 | 註解方式下無法發現Bean

    ati art -- cat target blank boot tps 方式 在排除註解的問題後,考慮掃描類的位置, 【SpringBoot項目的Bean裝配默認規則是根據Application類所在的包位置從上往下掃描! “Application類”是指SpringBo

    11gR2RAC更換CRS磁碟文件 11gR2RAC更換CRS磁碟文件

    11gR2RAC更換CRS磁碟組文件   磁碟(pv)準備     在生產環境中,提前從儲存上劃分一些磁碟掛載到RAC系統的兩個節點上(node1,node2).     新

    win10無法創建家庭怎麽辦 如何加入家庭

    ces 技術分享 default lis ffd ping ddc 高級 寫入 在使用Windows10系統家庭組的時候,提示無法創建或加入家庭組,出現這個問題怎麽辦呢?下面就來看一下解決的方法吧。 工具/原料 Windows10

    ECS例項安全預設的公網規則被刪除導致無法ping通

    問題描述: ECS 伺服器無法ping通,排查防火牆、網絡卡IP配置無誤,回滾系統後仍然無法ping通。 分析解決: 排查後發現,由於該ECS例項安全組預設的公網規則被刪除導致,重配公網入口安全組規則即可。 1. 登入阿里雲ECS控制檯,單擊【安全組】>【配置規則

    Linux安裝fcitx中文無法顯示候選框解決辦法

    Linux Mint xfce安裝完fcitx後使用谷歌輸入法彈不出中文候選框,原因是多安裝了元件fcitx-module-kimpanel ,將其移除就恢復正常了 sudo apt remove f

    Intellij IDEA中Hibernate中建立的資料類中,無法發現table和列

    積累,小白也能成為大神 最近在用spring整合hibernate寫東西的時候,突然出現這麼一個奇葩的問題。在寫*.hdm.xml中,對映表的時候,表上面有紅線。滑鼠放上去提示無法發現table。根據提示很明顯可以猜測出來,是因為類和資料庫沒有關聯,但

    xenserver 6.5 刪除原有lv卷,建立關聯新的磁碟

    在裝xenserver時,我將三個磁碟做成了一個LV儲存,這樣效率不如三個磁碟單獨使用,安裝完成後,後臺手動拆分。[[email protected] ~]# history 1 pvdisplay --檢視pv資訊 2 lvdisplay

    無法啟動 MSMQ 服務,0x42C錯誤描述: 依存服務或無法啟動。

    問題: ---------------------------訊息佇列客戶端安裝失敗---------------------------無法啟動 MSMQ 服務。錯誤程式碼: 0x433錯誤描述: 依存服務不存在,或已被標記為刪除。 -------------------

    當你無法發現問題所在時,不要簡單地把程式碼或者資料還原

    【場景】 這幾天有一位同事需要做與我一樣的功能,而這個功能是我已經開發好了的,他只需直接把我的程式碼拿去修改就可以。結果,我的程式碼可以正常執行,他的程式碼在開啟服務之後,控制檯就不斷有日誌輸出,開發環境進入了宕機狀態。 他花了很長的時間去尋找問題的來源,但

    丟失libiconv-2.dll解決辦法以及無法定位輸入點libiconv-2.dll到動態連結庫

    在為minGW新增PATH過程中出現提示丟失libiconv-2.dll的問題 解決辦法: 下載好libiconv-2.dll後放到以下路徑: 32位:C:\Windows\System32 6

    使用json方式上傳圖片時,發現上傳成功後,變成下載了json... 或者無法解析到返回的結果集!!!

    問題描述:如題 PS:使用Struts框架!!! 解決方案: <result name="typename" type="json"><param name="noCache">true</param><param name="

    小白學mysql 5.7.21遇到的安裝丟失msvcp120.dll,msvcr120.dll,0xc000007b+服務無法啟動

    我用的是MYSQL5.7.21-Winx64壓縮包,解壓後,裡面沒有data資料夾. 1.在環境變數裡PATH,裡新增mysql5.7.21目錄,結尾用分號隔開 F:\Program Files\mysql-5.7.21-winx64;    確認Microsoft.NE

    無法連線至WIN-P1,該資料庫正處於可用性中...

    今天將資料庫加入可用性組中時,新增成功,但在輔助副本中開啟已新增的資料庫進行查詢時,報錯,報錯資訊如下: 檢視其它資料庫,發現已有的資料庫也無法正常訪問。檢視資料庫狀態,發現該資料庫並未掛起資料移動,也就是說執行以下語句並不能解決問題. ALTER DA