Eu já escrevi um artigo sobre isso.
http://www.rosembergennes.com.br/index.php/dicas-oracle/214-ora-27100-spfile-pfile-memory-max-target-memory-target
Mas decidir fazer um resumo:
Se o banco estiver inciado, (startado open restritct etc...)
Podemos recriar o spfile ou pfile atraves do do comando.
CREATE SPFILE FROM MEMORY;
CREATE PFILE FROM MEMORY;
Normalmente os arquivos são criados na pasta /u01/app/oracle/product/11.2.0.4/db_1/dbs
Tambem podemos criar informando a pasta
create pfile='/u01/app/oracle/product/11.2.0.4/db_1/dbs/<<NOME SEU BANCO>>.ora2' from memory;
Agora podemos tambem criar o PFILE como SPFILE informando inclusive a pasta
create PFILE='/u01/app/oracle/product/11.2.0.4/db_1/dbs/pfile<< Meu Banco >>.ora' from SPFILE='/u01/app/oracle/product/11.2.0.4/db_1/dbs/spfile<< Meu Banco >>.ora';
create SPFILE='/u01/app/oracle/product/11.2.0.4/db_1/dbs/s<<NOME SEU BANCO>>.ora' from PFILE='/u01/app/oracle/product/11.2.0.4/db_1/dbs/init<<NOME SEU BANCO>>.ora';
Mas se o banco tentar iniciar e aparecer algo como :
LRM-00109: could not open parameter file '/u01/app/oracle/product/11.2.0.4/db_1/dbs/init<<NOME SEU BANCO>>.ora'
A solução é abri o banco forçando a utilização de algum arquivo com a configuracao tipo :
startup PFILE='/u01/app/oracle/product/11.2.0.4/db_1/dbs/init<<NOME SEU BANCO>>.ora';
LEMBRANDO NOVAMENTE
L> SHOW PARAMETER spfile;
NAME TYPE VALUE
-------- ------- ---------
spfile string /app/oracle/product/10.2.0.4server/db_1/dbs/spfile<<SID>>.ora
Aproveite para ver o DBID do banco.
SQL> select dbid,name from v$database;
DBID NAME
---------- ---------
9999999999 SID_SEU_BANCO