Create a temporary initialization parameter file (e.g. /tmp/init+ASM.ora) with the following content (specify your own disk group names):
asm_diskgroups='DATA','RECO'
instance_type='asm'
large_pool_size=12M
remote_login_passwordfile='EXCLUSIVE'
Mount the disk group where the new server parameter file (SPFILE) will reside (e.g. DATA) and create SPFILE:
$ sqlplus / assysasm
SQL> alter diskgroup DATA mount;
Diskgroup altered.
SQL> create spfile='+DATA' from pfile='/tmp/init+ASM.ora';
File created.
SQL> show parameter spfile
NAME TYPE VALUE
------- ------- -------------------------------------------------
spfile string +DATA/asm/asmparameterfile/registry.253.707737977
SQL> startup pfile='/tmp/init+ASM.ora';
ASM instance started
Total System Global Area 1135747072 bytes
Fixed Size 2260728 bytes
Variable Size 1108320520 bytes
ASM Cache 25165824 bytes
ORA-15032: not all alterations performed
ORA-15017: diskgroup "DATA"cannot be mounted
ORA-15063: ASM discovered an insufficientnumber of disks for diskgroup "DATA"
SQL>
[root@node1bak tmp]# cat init+ASM.ora
asm_diskgroups='DATA'
instance_type='asm'
large_pool_size=12M
remote_login_passwordfile='EXCLUSIVE'
asm_diskstring='/dev/sdb*'
[root@node1bak tmp]#
SQL> shutdown immediate
ORA-15100: invalid or missing diskgroupname
ORA-15100: invalid or missing diskgroupname
ASM instance shutdown
SQL> SQL> SQL> SQL> SQL>SQL>
SQL>
SQL>
SQL> startup pfile='/tmp/init+ASM.ora';
ASM instance started
Total System Global Area 1135747072 bytes
Fixed Size 2260728 bytes
Variable Size 1108320520 bytes
ASM Cache 25165824 bytes
ASM diskgroups mounted
ASM diskgroups volume enabled
SQL>