viernes, 6 de marzo de 2015

Ficheros pfile y spfile de Oracle

Cuando se realiza el startup de una base de datos Oracle, el sistema busca automáticamente los ficheros de configuración de los parámetros de la base de datos.

Existen 2 ficheros de configuración exactamente iguales. Uno binario (spfile.ora) y otro de texto (pfile.ora) que se puede editar.
Por lo general la base de datos busca primero el fichero binario y si no los encuentra busca el fichero de texto.

Ejemplo de ficheros: Por lo general se encuentra en el siguiente directorio:
/opt/oracle/product/10.2.0/db_1/dbs
    • spfile à spfileor01.ora
    • pfile à initor01.ora  (Donde or01 es el nombre de mi base de datos)


Cuando modificamos cualquier parámetro de las base de dato mediante las sentencias ‘Alter system…’ es necesario parar la base de datos y volverla a arrancar para hacer efectivos los cambios.

Puede pasar que nos equivoquemos y la base de datos no arranque. Un ejemplo es el error:
ORA-12700: invalid NLS parameter value (nls_territory)

Esto se puede solucionar editando el fichero pfile.
En ocasiones se puede dar la posibilidad que no tengamos uno de los 2 ficheros. En este caso, se puede crear un fichero como copia del otro. Para ello nos debemos conectar como sysdba y realizar lo siguiente:
Sqlplus / as sysdba
crearte pfile from spfile à Esto nos crea una copia del fichero binario en fichero de texto para poder editar y cambiar el valor de los parametros.

Luego creamos una copia del pfile (fichero de texto) como spfile (fichero binario):
create spfile from pfile;


Espero que les sirva de ayuda, ya que a mi me tomo mucho tiempo encontrar esta solución que me estaba dando dolores de cabeza J
saludos.
PNK