Windows下如何查看ASM磁盘对应的设备?

如题,在Windows系统下维护ASM磁盘提供存储设备的Oracle数据库时,该如何确定ASM磁盘对应的磁盘设备呢?

1 在操作系统层面看到下述磁盘信息,Disk 0是操作系统盘,Disk 1,Disk 2是2块ASM磁盘:

wps_clip_image-11545

2 从ASM实例里,看到磁盘组、磁盘的信息如下:

SQL> select name,total_mb,free_mb,state from v$asm_diskgroup;

NAME                             TOTAL_MB    FREE_MB STATE
------------------------------ ---------- ---------- -----------
ORADATA                            206849      32661 MOUNTED

SQL> select name,total_mb,free_mb,state from v$asm_disk;

NAME                             TOTAL_MB    FREE_MB STATE
------------------------------ ---------- ---------- --------
                                   206849          0 NORMAL
ORADATA_0001                       206849      32661 NORMAL

SQL> select name,total_mb,free_mb,state,path from v$asm_disk;

NAME                             TOTAL_MB    FREE_MB STATE    PATH
------------------------------ ---------- ---------- -------- --------------------
                                   206849          0 NORMAL   \\.\ORCLDISKORADATA0
ORADATA_0001                       206849      32661 NORMAL   \\.\ORCLDISKDATA0

SQL>

上述看到的信息已经是对ORADATA磁盘组执行过drop disk之后看到的信息。

那么接下来,如果想要OS级别移除ORADATA磁盘里path为\\.\ORCLDISKORADATA0的磁盘的话,该如何确定该磁盘对应OS级别的磁盘呢?究竟是Disk 1还是Disk2呢?

3 方法1:

C:\Users\Administrator>asmtool -list
NTFS                             \Device\Harddisk0\Partition1           278973M
ORCLDISKDATA0                    \Device\Harddisk1\Partition1           206849M
ORCLDISKORADATA0                 \Device\Harddisk2\Partition1           206849M

C:\Users\Administrator>

方法2:

通过DBCA进入ASM管理[Oracle 10g版本,11g应该使用ASMCA]之后,选择给磁盘stamp disk之后,也可以看到下述信息:

wps_clip_image-11662

进而,均可以可定path为\\.\ORCLDISKORADATA0的ASM磁盘对应于OS上的Disk2。

4 通过上述第3步骤移除磁盘的stamp操作之后,看到的信息如下:

wps_clip_image-11786

此时,已经从ASM实例里看不到ASM磁盘的信息了。

5 最终,从OS级别删除磁盘Disk 2的卷信息,分区信息之后,如下:

wps_clip_image-11848

附:在Linux上,可以直接通过/usr/sbin/oracleasm querydisk /dev/sd*的方法来查找ASM磁盘对应OS级别的设备信息。