Oracle ASM 在Solaris上未发现磁盘:ORA-15025 ORA-27041 SVR4 Error: 5: I/O error.

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com

症状

1) 由于(在Solaris上)下一个错误,无法将新的磁盘添加到现有磁盘新磁盘组,或无法创建新的磁盘组:

SQL> create diskgroup testdg external redundancy disk ‘/dev/rdsk/c4t60060480000190103592533031453837d0s2’;
create diskgroup testdg external redundancy disk ‘/dev/rdsk/c4t60060480000190103592533031453837d0s2’
*
ERROR at line 1:
ORA-15018: diskgroup cannot be created
ORA-15031: disk specification
‘/dev/rdsk/c4t60060480000190103592533031453837d0s2’ matches no disks
ORA-15025: could not open disk
‘/dev/rdsk/c4t60060480000190103592533031453837d0s2′
ORA-27041: unable to open file
SVR4 Error: 5: I/O error
Additional information: 42
Additional information: 0
Additional information: 103997248

2) 磁盘有正确的所有权和权限(permissions):

SQL> !ls -l /dev/rdsk/c4t60060480000190103592533031453837d0s2
lrwxrwxrwx 1 root root 67 Feb 22 20:53 /dev/rdsk/c4t60060480000190103592533031453837d0s2 ->

../../devices/scsi_vhci/ssd@g60060480000190103592533031453837:c,raw
SQL> ! ls -l /devices/scsi_vhci/ssd@g60060480000190103592533031453837:c,raw
crw-rw—- 1 oracle dba 118, 338 Mar 2 09:48

/devices/scsi_vhci/ssd@g60060480000190103592533031453837:c,raw

3) 同时,它能被ASM发现:

SQL> show parameter asm

NAME TYPE VALUE
———————————— ———– ——————————
asm_diskgroups string LOANIQ_REDO01DG01, LOANIQ_REDO
02DG01, LOANIQ_ARCHDG01, LOANI
Q_DATADG01
asm_diskstring string /dev/rdsk/*

asm_power_limit integer 1

SQL> select path from v$asm_disk;

PATH
——————————————————————————–
/dev/rdsk/c4t60060480000190103592533031453837d0s2

4) 而且使用dd能在OS级别访问磁盘:

SQL> !dd if=/dev/rdsk/c4t60060480000190103592533031453837d0s2 of=/dev/null count=100 bs=8192
100+0 records in
100+0 records out

原因
1)使用format命令,确认 “/dev/rdsk/c4t60060480000190103592533031453837d0s2” raw device/partitions 不是有效分区,因为它在引用“backup” 分区 (#2 以下),包含OS 分区标签 (VTOC) & OS 元数据,同时在cylinder #0中启动:

# format
Searching for disks…done

c4t60060480000190103592533031453837d0: configured with capacity of 68.24GB
AVAILABLE DISK SELECTIONS:
0. c2t50060482D5300A28d0 <EMC-SYMMETRIX-5772 cyl 1 alt 2 hd 15 sec 128>
/pci@8,700000/lpfc@5/fp@0,0/ssd@w50060482d5300a28,0
1. c3t50060482D5300A07d0 <EMC-SYMMETRIX-5772 cyl 1 alt 2 hd 15 sec 128>
/pci@8,600000/lpfc@2/fp@0,0/ssd@w50060482d5300a07,0
2. c4t20000014C3739DB2d0 <SUN146G cyl 14087 alt 2 hd 24 sec 848>
/scsi_vhci/ssd@g20000014c3739db2
3. c4t20000014C3739FBCd0 <SUN146G cyl 14087 alt 2 hd 24 sec 848>
/scsi_vhci/ssd@g20000014c3739fbc
4. c4t60060480000190103592533030463238d0 <EMC-SYMMETRIX-5772 cyl 37270 alt 2 hd 30 sec 128>
.
.
.
.
.
23. c4t60060480000190103592533031453837d0 <EMC-SYMMETRIX-5772 cyl 37270 alt 2 hd 30 sec 128>
/scsi_vhci/ssd@g60060480000190103592533031453837
Specify disk (enter its number): 23
selecting c4t60060480000190103592533031453837d0
[disk formatted]
Disk not labeled. Label it now? yes
FORMAT MENU:
disk – select a disk
type – select (define) a disk type
partition – select (define) a partition table
current – describe the current disk
format – format and analyze the disk
repair – repair a defective sector
label – write label to the disk
analyze – surface analysis
defect – defect list management
backup – search for backup labels
verify – read and display labels
save – save new disk/partition definitions
inquiry – show vendor, product and revision
volname – set 8-character volume name
!<cmd> – execute <cmd>, then return
quit
format> p
PARTITION MENU:
0 – change `0′ partition
1 – change `1′ partition
2 – change `2′ partition
3 – change `3′ partition
4 – change `4′ partition
5 – change `5′ partition
6 – change `6′ partition
7 – change `7’ partition
select – select a predefined table
modify – modify a predefined partition table
name – name the current table
print – display the current table
label – write partition map and label to the disk
!<cmd> – execute <cmd>, then return
quit
partition> p
Current partition table (original):
Total disk cylinders available: 37270 + 2 (reserved cylinders)

Part Tag Flag Cylinders Size Blocks
0 root wm 0 – 68 129.38MB (69/0/0) 264960
1 swap wu 69 – 137 129.38MB (69/0/0) 264960
2 backup wu 0 – 37269 68.24GB (37270/0/0) 143116800 <(== Incorrect
3 unassigned wm 0 0 (0/0/0) 0
4 unassigned wm 0 0 (0/0/0) 0
5 unassigned wm 0 0 (0/0/0) 0
6 usr wm 138 – 37269 67.99GB (37132/0/0) 142586880
7 unassigned wm 0 0 (0/0/0) 0

partition> q

2) 普通0 “backup” 分区不是ASM的有效原始失败,因为它包含OS 分区标签和OS元数据,且在cylinder # 0中启动。

解决方案

使用正确的分区(e.g. #6) ==)>
“/dev/rdsk/c4t60060480000190103592533031453837d0s6”,磁盘组被成功创建:

# chown oracle:dba /dev/rdsk/c4t60060480000190103592533031453837d0s6

# chmod g+w /dev/rdsk/c4t60060480000190103592533031453837d0s6

SQL> !dd if=/dev/rdsk/c4t60060480000190103592533031453837d0s2 of=/dev/null count=100 bs=8192
100+0 records in
100+0 records out

SQL> create diskgroup testdg external redundancy disk ‘/dev/rdsk/c4t60060480000190103592533031453837d0s6’;

Diskgroup created.

Comment

*

沪ICP备14014813号-2

沪公网安备 31010802001379号