溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ORA-15040 ora-15017ASM磁盤無法掛載故障怎么處理

發(fā)布時間:2021-06-26 09:23:58 來源:億速云 閱讀:211 作者:chen 欄目:編程語言

本篇內(nèi)容介紹了“ORA-15040 ora-15017ASM磁盤無法掛載故障怎么處理”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

測試環(huán)境突然一個節(jié)點的數(shù)據(jù)庫無法啟動,報錯很清楚,找不到控制文件,而控制文件在ASM上,第一個節(jié)點正常,下面是處理流程。
數(shù)據(jù)庫啟動報錯
SQL> startup
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORACLE instance started.

Total System Global Area 2684354560 bytes
Fixed Size 8624312 bytes
Variable Size 989857608 bytes
Database Buffers 1677721600 bytes
Redo Buffers 8151040 bytes
ORA-00205: error in identifying control file, check alert log for more info

告警日志:
alter database mount
2021-04-22T15:06:27.293867+08:00
NOTE: ASMB mounting group 3 (USERDATA)
NOTE: ASM background process initiating disk discovery for grp 3 (reqid:0)
WARNING: group 3 (USERDATA) has missing disks
ORA-15040: diskgroup is incomplete
WARNING: group 3 is being dismounted.
WARNING: ASMB force dismounting group 3 (USERDATA) due to missing disks
SUCCESS: diskgroup USERDATA was dismounted
2021-04-22T15:06:27.330633+08:00
ORA-00210: cannot open the specified control file
ORA-00202: control file: '+USERDATA/PROD/CONTROLFILE/current.257.1055783219'
ORA-17503: ksfdopn:2 Failed to open file +USERDATA/PROD/CONTROLFILE/current.257.1055783219
ORA-15001: diskgroup "USERDATA" does not exist or is not mounted
ORA-15040: diskgroup is incomplete
ORA-205 signalled during: alter database mount...


磁盤組狀態(tài)
SQL> select name,state,total_mb,type from v$asm_diskgroup


NAME STATE TOTAL_MB TYPE
-------------------- -------------------- ---------- ------------------
ACFSDATA MOUNTED 12224 EXTERN
DATA MOUNTED 51196 EXTERN
USERDATA MOUNTED 20476 EXTERN

查看磁盤組的狀態(tài)
SQL>select b.name,path,a.state,a.mount_status,a.header_status from v$asm_disk a,v$asm_diskgroup b where a.group_number=b.group_number


NAME PATH STATE MOUNT_STATUS HEADER_STATUS
-------------------- -------------------- -------------------- --------------------- ------------------------------------
USERDATA /dev/sdd1 NORMAL CACHED MEMBER
ACFSDATA /dev/sdb1 NORMAL CACHED MEMBER
DATA /dev/sdc1 NORMAL CACHED MEMBER

查看磁盤信息

Disk /dev/sdd: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x7bf56a92

Device Boot Start End Blocks Id System
/dev/sdd1 2048 41943039 20970496 83 Linux


嘗試重新mount磁盤組
SQL> alter diskgroup usedata mount;
alter diskgroup usedata mount
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15017: diskgroup "USEDATA" cannot be mounted
ORA-15040: diskgroup is incomplete

下面嘗試mount正常的磁盤組
SQL> alter diskgroup ACFSDATA mount;
alter diskgroup ACFSDATA mount
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15017: diskgroup "ACFSDATA" cannot be mounted
ORA-15013: diskgroup "ACFSDATA" is already mounted

顯然二者的提示不同,問題磁盤組報錯15040,下馬是是該錯誤解釋
[oracle@rac2 ~]$ oerr ora 15040
15040, 00000, "diskgroup is incomplete"
// *Cause: Some of the disks comprising a diskgroup were not present.
// *Action: Check the hardware to ensure that all disks are functional. Also
// check that the setting of the ASM_DISKSTRING initialization
// parameter has not changed. Alternatively, for normal or high
// redundancy diskgroups, use MOUNT FORCE to offline missing disks
// as part of mounting the diskgroup.

找不到ASM磁盤了,但是第一個節(jié)點該磁盤組是正常的,因為只有一個ASM磁盤,我們排除是ASM磁盤頭的問題
應該是第二個節(jié)點與操作系統(tǒng)之間有問題,也就是實例2無法識別這個ASM磁盤

節(jié)點2 userdata磁盤組dismount后的狀態(tài)
SQL> l
1* select b.name,path,a.state,a.mount_status,a.header_status from v$asm_disk a,v$asm_diskgroup b where a.group_number=b.group_number
SQL> /

NAME PATH STATE MOUNT_STATUS HEADER_STATUS
-------------------- -------------------- ------------------------ --------------------- ------------------------------------
USERDATA /dev/sde1 NORMAL CLOSED CANDIDATE
USERDATA /dev/sdg1 NORMAL CLOSED CANDIDATE
USERDATA /dev/sdg NORMAL CLOSED CANDIDATE
USERDATA /dev/sdb NORMAL CLOSED CANDIDATE
USERDATA /dev/sdc NORMAL CLOSED CANDIDATE
USERDATA /dev/sdf NORMAL CLOSED CANDIDATE
USERDATA /dev/sde NORMAL CLOSED CANDIDATE
USERDATA /dev/sda2 NORMAL CLOSED CANDIDATE
USERDATA /dev/sdd NORMAL CLOSED CANDIDATE
USERDATA /dev/sda1 NORMAL CLOSED CANDIDATE
ACFSDATA /dev/sdb1 NORMAL CACHED MEMBER
DATA /dev/sdc1 NORMAL CACHED MEMBER

12 rows selected.
節(jié)點2多了很多candidate盤,并且磁盤組userdata沒有/dev/sdd1的盤為member狀態(tài)。
節(jié)點1 userdata磁盤組dismount后的狀態(tài)(該節(jié)點正常)
select 'alter diskgroup '||b.name||' drop disk '||path from v$asm_disk a,v$asm_diskgroup b where a.group_number=b.group_number;

SQL> select b.name,path,a.state,a.mount_status,a.header_status from v$asm_disk a,v$asm_diskgroup b where a.group_number=b.group_number

NAME PATH STATE MOUNT_STATUS HEADER_STATUS
-------------------- ------------------------------ ------------------------ --------------------- ------------------------------------
USERDATA /dev/sdd1 NORMAL CLOSED MEMBER
USERDATA /dev/sdf1 NORMAL CLOSED FORMER
ACFSDATA /dev/sdb1 NORMAL CACHED MEMBER
DATA /dev/sdc1 NORMAL CACHED MEMBER

顯然兩個節(jié)點對應的設備不同,從candidate含義可以知道多了備選的ASM磁盤,于是查詢rules規(guī)則文件
[oracle@rac2 rules.d]$ ls -lrt *asm*
-rw-r--r-- 1 root root 712 Nov 1 13:16 99-my-asmdevices.rules
-rw-r--r-- 1 root root 1684 Apr 20 17:09 99-oracle-asmdevices.rules

發(fā)現(xiàn)節(jié)點2有兩個規(guī)則,文件,突然記起來之前測試了一個自動生成rules文件的腳本,腳本內(nèi)容如下,也就解釋了為何出現(xiàn)這個問題。
[oracle@rac2 rules.d]$ cat 99-oracle-asmdevices.rules
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/lib/udev/scsi_id -g -u -d $devnode",
RESULT=="1ATA_VBOX_HARDDISK_VBf0c224c2-df949031", SYMLINK+="asm_sdb", OWNER="grid", GROUP="asmadmin", MODE=
"0660"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/lib/udev/scsi_id -g -u -d $devnode",
RESULT=="1ATA_VBOX_HARDDISK_VB6696fa7f-9e3b849f", SYMLINK+="asm_sdc", OWNER="grid", GROUP="asmadmin", MODE=
"0660"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/lib/udev/scsi_id -g -u -d $devnode",
RESULT=="1ATA_VBOX_HARDDISK_VBd23c9420-9c9f27e4", SYMLINK+="asm_sdd", OWNER="grid", GROUP="asmadmin", MODE=
"0660"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/lib/udev/scsi_id -g -u -d $devnode",
RESULT=="1ATA_VBOX_HARDDISK_VBfd0b0c16-d27f68c4", SYMLINK+="asm_sde", OWNER="grid", GROUP="asmadmin", MODE=
"0660"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/lib/udev/scsi_id -g -u -d $devnode",
RESULT=="1ATA_VBOX_HARDDISK_VBa7ed9674-7578ffc6", SYMLINK+="asm_sdf", OWNER="grid", GROUP="asmadmin", MODE=
"0660"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/lib/udev/scsi_id -g -u -d $devnode",
RESULT=="1ATA_VBOX_HARDDISK_VBed0c7e0c-483cfad3", SYMLINK+="asm_sdg", OWNER="grid", GROUP="asmadmin", MODE=
"0660"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/lib/udev/scsi_id -g -u -d $devnode",
RESULT=="", SYMLINK+="asm_sdh", OWNER="grid", GROUP="asmadmin", MODE=
"0660"
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/lib/udev/scsi_id -g -u -d $devnode",
RESULT=="", SYMLINK+="asm_sdi", OWNER="grid", GROUP="asmadmin", MODE=
"0660"
問題好解決了,刪除最后的那個規(guī)則文件
再次查詢節(jié)點2
SQL> l
1* select b.name,path,a.state,a.mount_status,a.header_status from v$asm_disk a,v$asm_diskgroup b where a.group_number=b.group_number
SQL> /

NAME PATH STATE MOUNT_STATUS HEADER_STATUS
------------------------------ -------------------- ------------------------ --------------------- ------------------------------------
ACFSDATA /dev/sdb1 NORMAL CACHED MEMBER
USERDATA /dev/sdd1 NORMAL CACHED MEMBER
DATA /dev/sdc1 NORMAL CACHED MEMBER

下面重啟下集群,重新掛載ASM磁盤組
看節(jié)點2數(shù)據(jù)庫告警日志
ALTER DATABASE MOUNT /* db agent *//* {2:10468:2} */
2021-04-22T15:41:43.380715+08:00
This instance was first to mount
2021-04-22T15:41:44.382690+08:00
NOTE: ASMB mounting group 3 (USERDATA)
NOTE: ASM background process initiating disk discovery for grp 3 (reqid:0)
NOTE: Assigning number (3,0) to disk (/dev/sdd1)
SUCCESS: mounted group 3 (USERDATA)
NOTE: grp 3 disk 0: USERDATA_0000 path:/dev/sdd1
2021-04-22T15:41:44.719410+08:00
NOTE: dependency between database prod and diskgroup resource ora.USERDATA.dg is established
這里提示成功掛載ASM磁盤
集群狀態(tài):
[oracle@rac1 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ACFSDATA.dg
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.ASMNET1LSNR_ASM.lsnr
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.DATA.dg
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.LISTENER.lsnr
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.USERDATA.dg
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.net1.network
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.ons
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE rac1 STABLE
ora.MGMTLSNR
1 OFFLINE OFFLINE STABLE
ora.asm
1 ONLINE ONLINE rac1 Started,STABLE
2 ONLINE ONLINE rac2 Started,STABLE
3 OFFLINE OFFLINE STABLE
ora.cvu
1 ONLINE ONLINE rac1 STABLE
ora.mgmtdb
1 OFFLINE OFFLINE STABLE
ora.prod.db
1 ONLINE ONLINE rac1 Open,HOME=/oracle/db
/base/product/12.2,S
TABLE
2 ONLINE ONLINE rac2 Open,HOME=/oracle/db
/base/product/12.2,S
TABLE
ora.qosmserver
1 ONLINE ONLINE rac1 STABLE
ora.rac1.vip
1 ONLINE ONLINE rac1 STABLE
ora.rac2.vip
1 ONLINE ONLINE rac2 STABLE
ora.scan1.vip
1 ONLINE ONLINE rac1 STABLE
--------------------------------------------------------------------------------

提示:不要隨便在運行庫測試腳本,造成生成的規(guī)則文件覆蓋之前的文件,造成一個節(jié)點的數(shù)據(jù)庫無法啟動。

“ORA-15040 ora-15017ASM磁盤無法掛載故障怎么處理”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網(wǎng)站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI