一般来说,asm实例起不来有这么几种情况(以11g为例):

1、ocrvote磁盘损坏

2、asm实例内存分配不合理(很有可能是手贱乱设置重启后起不来了,嘿嘿)

3、碰到bug了

进入正题,万一碰到asm内存分配不合理,asm实例无法启动咋整:

比如:ORA-00823: Specified value of sga_target greater than sga_max_size

下面是最常见和最常用的ASM初始化参数配置:

+ASM1.asm_diskgroups='DATA'#Manual Mount

+ASM2.asm_diskgroups='DATA'#Manual Mount

*.asm_diskstring='/dev/asm*'

*.asm_power_limit=1

*.diagnostic_dest='/u01/gridbase'

*.instance_type='asm'

*.large_pool_size=12M

*.remote_login_passwordfile='EXCLUSIVE'

当asm实例没起来的时候你是无法更改asm参数文件spfile的,这可咋整??

新建一个pfile:

[grid@racpri1 tmp]$ vi asm.ora

用pfile启动asm实例

SQL> startup pfile='/tmp/asm.ora' mount

ASM instance started

Total System Global Area 1135747072 bytes

Fixed Size2260728 bytes

Variable Size1108320520 bytes

ASM Cache25165824 bytes

ASM diskgroups mounted

重建asmspfile:

SQL> create spfile='+ocrvt/racpri-cluster/ASMPARAMETERFILE/spfileasm.ora' from pfile='/tmp/asm.ora'

<<<<<<<<<<<<<<<<自动修改了gpnp profile配置

[grid@racpri1 ~]$ asmcmd spget

+ocrvt/racpri-cluster/ASMPARAMETERFILE/spfileasm.ora

重启验证

SQL> show parameter spfile

NAMETYPEVALUE

------------------------------------ ----------- ------------------------------

spfilestring+OCRVT/racpri-cluster/asmparam

eterfile/spfileasm.ora

SQL>