ASM磁碟分割槽或者裝置檔案刪除後恢復的方法

趙宇發表於2008-07-16
$ export ORACLE_SID=+ASM
$ sqlplus / as sysdba

檢視磁碟組的狀態和磁碟組的型別,這裡的磁碟組是外部
SQL> select name,type,state from v$asm_diskgroup;

NAME                 TYPE         STATE
-------------------- ------------ ----------------------
DISK_GROUP1          EXTERN       MOUNTED
DISK_GROUP2          EXTERN       MOUNTED
FLASHBACK_DISKGROUP  EXTERN       MOUNTED

檢視磁碟組對應的磁碟,為什麼會ORCL:VOL這些磁碟沒有分配,實際這些磁碟就是
ASM磁碟,由於他們有標識裝置檔案,所以沒有對應磁碟組,如果它們沒有標識裝置,會對應
磁碟,我們看一下:
SQL> select group_number,disk_number,path from v$asm_disk;

GROUP_NUMBER DISK_NUMBER PATH
------------ ----------- --------------------
           0           3 ORCL:VOL1
           0           5 ORCL:VOL3
           0           6 ORCL:VOL4
           2           0 /dev/raw/raw3
           3           0 /dev/raw/raw2
           1           1 /dev/raw/raw4
           1           0 ORCL:VOL2

7 rows selected.

$ /etc/init.d/oracleasm listdisks
VOL1
VOL2
VOL3
VOL4

發現其他的ASMDISK的裝置檔案都直接對應了磁碟組,但是VOL2卻直接對應磁碟組.
看到VOL2沒有定義標識,我們來定義一下.
$ /etc/init.d/oracleasm querydisk VOL1
Disk "VOL1" is a valid ASM disk on device [8, 17]
$ /etc/init.d/oracleasm querydisk VOL2
ASM disk "VOL2" defines an unmarked device
$ /etc/init.d/oracleasm querydisk VOL3
Disk "VOL3" is a valid ASM disk on device [8, 49]
$ /etc/init.d/oracleasm querydisk VOL4
Disk "VOL4" is a valid ASM disk on device [8, 81]

$ su - root
Password:
-bash: [: missing `]'
[root@dg1 ~]# vi /etc/sysconfig/rawdevices
加入 /dev/raw/raw1 /dev/sdc1這條

[root@dg1 ~]# /sbin/service rawdevices restart
Assigning devices:
           /dev/raw/raw3  --&gt   /dev/sdb1
/dev/raw/raw3:  bound to major 8, minor 17
           /dev/raw/raw2  --&gt   /dev/sdd1
/dev/raw/raw2:  bound to major 8, minor 49
           /dev/raw/raw4  --&gt   /dev/sdf1
/dev/raw/raw4:  bound to major 8, minor 81
           /dev/raw/raw1  --&gt   /dev/sdc1
/dev/raw/raw1:  bound to major 8, minor 33
done

[root@dg1 ~]# cd /dev/raw
[root@dg1 raw]# ls
raw1  raw2  raw3  raw4

RAW1檔案已經生成,在到V$ASM_DISK表看一下
  1* select group_number,name,path,state from v$asm_disk
SQL> /

GROUP_NUMBER NAME                      PATH                 STATE
------------ ------------------------- -------------------- ----------------
           0                           ORCL:VOL1            NORMAL
           0                           ORCL:VOL2            NORMAL
           0                           ORCL:VOL3            NORMAL
           0                           ORCL:VOL4            NORMAL
           2 DISK_GROUP2_0000          /dev/raw/raw3        NORMAL
           3 FLASHBACK_DISKGROUP_0000  /dev/raw/raw2        NORMAL
           1 DISK_GROUP1_0001          /dev/raw/raw4        NORMAL
           1 DISK_GROUP1_0000          /dev/raw/raw1        NORMAL

8 rows selected.
發現VOL2已經不對應磁碟組了.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/175005/viewspace-402150/,如需轉載,請註明出處,否則將追究法律責任。

相關文章