Spfile/pfile is having information required by oracle to start the database.If you donot have the file then you are not able to start the oracle database. At least one from both file must be available.
During startup command process:
1. Check spfile if found start
2. otherwise check pfile if found start
3. otherwise check init.ora default file present
Spfile having parameter which have defined some value which tells oracle about location of files needed by oracle to start database and some feature disabled or enabled through it. How much memory need to allocated in Operating system.
Startup command automatically check the file spfile/pfile availability at Default location. If you want to start database from different location you can give location of pfile in startup command also
Check the database started with pfile or spfile:
SELECT DECODE(value, NULL, 'PFILE', 'SPFILE') "Init File Type" FROM sys.v_$parameter WHERE name = 'spfile';
Create the spfile from pfile
create spfile='location' from pfile='location';
Create the pfile from spfile:
#Create pfile from spfile;
you want to create Pfile in different location
create pfile='location' from spfile;