ASM实例启动报错:ORA-29701、ORA-15110解决方案


在手动写ASM参数文件后启动ASM遇到一个问题,在启动asm实例的时候提示:

ORA-29701 :unable to connect to Cluster Manager

通过对于联机文档的解读,我了解到是没有添加CSS服务的原因,好,下面我们在root用户下执行/u01/app/Oracle/product/10.2/db_1/bin/localconfig add命令去添加CSS服务,好!问题解决,但是在启动asm实例却报了ORA-15110: nodiskgroups mounted 错误(启动实例的时候出现ORA-15110错误非常正常,因为我之前还没有创建diskgroup)

SQL>select path,mount_status from v$asm_disk order by disk_number;

PATH                                            MOUNT_S
-------------------------------------------------- -------
ORCL:VOL01                                       CLOSED
ORCL:VOL02                                       CLOSED

查看磁盘的状态,如果没有看到,则是设置的asm_diskstring参数不正确,需要调整。

PATH                                            MOUNT_S

---------------------------------------------------------
ORCL:VOL01                                       CACHED
ORCL:VOL02                                       CACHED

创建磁盘组

SQL>create diskgroup syasm normal redundancy disk 'ORCL:VOL01';

SQL> alterdiskgroup syasm add disk 'ORCL:VOL02';

Diskgroupcreated.

创建磁盘组后,再次查询v$asm_disk视图,发现ASM磁盘的状态由closed变成cached  

SQL>select path,mount_status from v$asm_disk order by disk_number;

PATH                                            MOUNT_S
-------------------------------------------------- -------
ORCL:VOL01                                       CACHED
ORCL:VOL02                                       CACHED

创建spfile,重启实例

SQL>create spfile from pfile;

File created.

SQL>shutdown immediate
ASM diskgroups dismounted
ASM instance shutdown
SQL> startup
ASM instance started


Total System Global Area   92274688 bytes
Fixed Size                 1217884 bytes
Variable Size              65890980 bytes
ASM Cache                 25165824 bytes
ORA-15110: no diskgroups mounted

无法启动磁盘组,并报ORA-15110错误,决定通过手动方式启动磁盘组

SQL> alterdiskgroup all mount;

alterdiskgroup all mount

*

ERROR at line1:

ORA-15110: nodiskgroups mounted

手动也无法启动,是什么问题呢~

通过SQL>show paramter asm;

NAME                               TYPE        VALUE
------------------------------------ ----------- ------------------------------
asm_diskgroups                      string      
asm_diskstring                      string
asm_power_limit                     integer     1

asm_diskgroups后面的值竟然是空置,难怪磁盘组会起不来,手动加上!

SQL>altersystem set asm_diskgroups=SHIYUEASM scope=both;

好!再次启动磁盘组!

SQL> alterdiskgroup all mount;

SQL>startup
ASM instance started

Total System Global Area   92274688 bytes
Fixed Size                 1217884 bytes
Variable Size              65890980 bytes
ASM Cache                 25165824 bytes
ASM diskgroups mounted  

磁盘组起来了,手动创建ASM磁盘组完成!

相关内容