Database Parameter File
Either an init.ora file or an spfile can be used
for the Oracle database.
If an init.ora parameter file is used then it
should be named init<$ORACLE_SID>.ora and located in the $ORACLE_BASE/admin/<$ORACLE_SID>/pfile
directory and symbolically linked back to the $ORACLE_HOME/dbs
directory.
If an spfile is used then it should be created
from the init.ora file and then moved to the $ORACLE_BASE/admin/<$ORACLE_SID>/pfile
directory. A one line init.ora file should then be created and placed in
the $ORACLE_HOME/dbs directory. Note that this file cannot be linked.
Oracle expects it to reside in the $ORACLE_HOME/dbs directory and will
not follow a symbolic link. The file should contain a single line of the
following format:
- spfile=$ORACLE_BASE/admin/DBSID/pfile/spfileDBSID.ora
The following is an example:
initDBSID.ora:
- spfile=/oracle/admin/DBSID/pfile/spfileDBSID.ora
- # Override parameters go below
NOTE: When using an SPFILE it is possible to get
into the situation where the database won't start due to an invalid
parameter, and since the database won't start it is not possible to fix
the SPFILE. In this case the offending parameter can be overridden in
the single line init.ora file above by adding the parameter with the
correct value after the "spfile" designation. Oracle will always use the
last specified value for any parameter that it finds. Now the database
can be started and the SPFILE can be fixed.
We recommend that the SPFILE not be stored
on an ASM volume unless absolutely necessary. Since files cannot be
accessed directly on ASM volumes, when errors are made it can be
difficult to fix them and it is a level of indirection that just doesn't
seem to be worth the potential confusion.
Another advantage to keeping the SPFILE in the "admin" directory,
or any non-ASM volume,
is that it is
possible to view the actual file using the UNIX "strings" command.