ASM磁盘组mount一例

环境信息:

   oracle10gRAC  +  RHEL5.8

 

问题现象:

  db1服务器crs服务正常,ASM的data磁盘组处于dismount状态。db2集群服务正常。

SQL> select name,state from v$asm_diskgroup;

NAME                        STATE
-------------------- ---------------------------------
ARCHDG                   MOUNTED
DATADG                   DISMOUNTED

尝试mount,但失败

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也报错

SQL> alter diskgroup datadg mount force;
alter diskgroup datadg mount force
*
ERROR at line 1:
ORA-00905: missing keyword

排查了一些资料,说是磁盘组的头有问题;这个答案肯定不是我这个案例的问题,因为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.    问题解决了

 

你可能感兴趣的:(mount)