If we need to change some values of parameters persistently, what should we start? First of all, we have to know whether the database started with a SPFILE or PFILE.
Check Location of SPFILE
Here is a test which will show you the location of SPFILE.
SQL> show parameter spfile
If any location returned in the output, then the database started with SPFILE. You can use ALTER SYSTEM to change the values of parameters. That’s easy.
If the output is empty, then the database started with PFILE. We have to modify the PFILE and restart the database with it. Now the question is, where is the location of PFILE that was used to startup the database? Do you know that?