Hoy vamos a ver una entrada que es muy básica en Unix pero que puede traer algún quebradero de cabeza en windows.
¿Que ocurre cuando queremos pasar de Pfile a Spfile en Windows?
La pregunta parece sencilla de resolver, y es que , simplemente tenemos que dejar un fichero llamado spfile_SID.ora en el directorio $ORACLE_HOME/database ( el equivalente a $ORACLE_HOME/dba de UNIX) pero, cuando hacemos esto en windows falla.
El problema se encuentra en el modo de arranque, a la hora de crear el servicio seguramente se creo con el parámetro «pfile=XXX» , con lo que el motor busca exactamente el fichero init_SID.ora y por eso no arranca con el nuevo spfile.
Para solucionarlo, abriremos el regedit e iremos a:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME
Allí hay una entrada para cada instancia llamada ORA_
Ah!, recordad que debería de existir el fichero SPFILE, para crearlo desde la 11g la manera mas sencilla es:
create spfile from memory;
Si estáis en alguna versión anterior siempre podéis seguir la entrada http://clemente.pamplona.name/dba/recuperar-un-spfile-borrado/
Como siempre, mas información en Soporte.
- (Doc ID 378021.1) Oradim and Spfile
- (Doc ID 232587.1) FAQ About Usage of Spfile and Pfile on Windows