環境信息:服務器
oracle10gRAC + RHEL5.8oracle
問題現象:spa
db1服務器crs服務正常,ASM的data磁盤組處於dismount狀態。db2集羣服務正常。orm
SQL> select name,state from v$asm_diskgroup;io
NAME STATE
-------------------- ---------------------------------
ARCHDG MOUNTED
DATADG DISMOUNTEDasm
嘗試mount,但失敗form
SQL> alter diskgroup datadg mount;
alter diskgroup datadg mount
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15040: diskgroup is incomplete
ORA-15042: ASM disk "1" is missing集羣
強制mount也報錯select
SQL> alter diskgroup datadg mount force;
alter diskgroup datadg mount force
*
ERROR at line 1:
ORA-00905: missing keyworddb
排查了一些資料,說是磁盤組的頭有問題;這個答案確定不是我這個案例的問題,由於db2是好的。
再查看好的db2機器磁盤組狀態:
SQL> select name,state from v$asm_diskgroup;
NAME STATE
-------------------- ---------------------------------
ARCHDG MOUNTED
DATADG MOUNTED
SQL> col name for a20
SQL> col path for a20
SQL> col failgroup for a20
SQL> select name,failgroup,path from v$asm_disk;
NAME FAILGROUP PATH
-------------------- -------------------- --------------------
/dev/raw/raw3
ARCHDG_0000 ARCHDG_0000 /dev/raw/raw4
DATADG_0000 DATADG_0000 /dev/raw/raw2
DATADG_0001 DATADG_0001 /dev/raw/raw5
得知data盤用的raw2和raw5。
[root@db2 ~]# ll /dev/raw/raw*
crw-r----- 1 root oinstall 162, 1 9月 21 21:05 /dev/raw/raw1
crw-rw---- 1 oracle oinstall 162, 2 9月 21 21:05 /dev/raw/raw2
crw-rw---- 1 oracle oinstall 162, 3 9月 21 21:05 /dev/raw/raw3
crw-rw---- 1 oracle oinstall 162, 4 9月 21 21:05 /dev/raw/raw4
crw-rw---- 1 oracle oinstall 162, 5 9月 21 21:05 /dev/raw/raw5
接着排查db1的raw設備:
[oracle@db1 ~]$ ll /dev/raw/raw*
crw-r----- 1 root oinstall 162, 1 Sep 12 19:47 /dev/raw/raw1
crw-rw---- 1 oracle oinstall 162, 2 Sep 12 19:47 /dev/raw/raw2
crw-rw---- 1 oracle oinstall 162, 3 Sep 12 19:47 /dev/raw/raw3
crw-rw---- 1 oracle oinstall 162, 4 Sep 12 19:47 /dev/raw/raw4
crw------- 1 root root 162, 5 Sep 12 19:47 /dev/raw/raw5
發現raw5的屬主是root。進行了以下修改:
[root@db1 ~]# chown oracle:oinstall /dev/raw/raw5
[root@db1 ~]# chmod 660 /dev/raw/raw5
再次
SQL> alter diskgroup datadg mount;
Diskgroup altered. 問題解決了