Decidí reducir la asignación de memoria de una instancia de desarrollador local, y me dijeron que el siguiente comando hizo el trabajo;
alter system set memory_max_target = 512M scope = spfile;
Lo que supongo que sí, ya que ya no puedo iniciar la instancia de Oracle en cuestión. Este es el error que obtengo cuando intento conectarme como usuario no DBA;
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Cuando me conecto como SYSDBA obtengo lo siguiente;
Connected to an inactive instance.
SQL>startup nomount;
ORA-00837: Specified value of MEMORY_TARGET greater than MEMORY_MAX_TARGET
SQL>alter system set memory_max_target = 2G scope = spfile;
ORA-01034: ORACLE not available
("Conectado a una instancia inactiva" es mi traducción de un mensaje de error localizado, puede que no sea exactamente correcto) Entonces, estoy en una situación de captura 22, no puedo cambiar los parámetros de memoria sin iniciar, y puedo No empieces.
¿Hay alguna manera de cambiar estos parámetros sin conexión?
fuente
spfileSID.ora
yspfile.ora
luego intenta leer desde el archivoinit.ora
si no se encuentran los archivos. Por cierto,MEMORY_MAX_TARGET
puede ser muchas veces mayor queMEMORY_TARGET
aunque no pueda modificarse dinámicamente: la instancia debe ser rechazada.initSID.ora
realidad no lo esinit.ora
.Las primeras versiones de 11gR1 tienen este error. No se iniciarán si memory_target se configuró en 2 GB (y más). Actualice a 11gR2 (o 11.1.0.7) o utilice los parámetros "clásicos" SGA / PGA (sga_target, sga_max_size, pga_aggregate_target).
fuente
Suponiendo que está utilizando Linux OS: ¿ha verificado el tamaño del sistema de archivos / dev / shm? El tamaño de este fs debe ser lo suficientemente largo como para adaptarse a su SGA. Si no, intente volver a montar con '-o size = xxx'.
fuente