J'ai décidé de réduire l'allocation de mémoire d'une instance de développeur local et on m'a dit que la commande suivante avait fait le travail;
alter system set memory_max_target = 512M scope = spfile;
Ce que je suppose, car je ne peux plus démarrer l'instance Oracle en question. C'est l'erreur que j'obtiens en essayant de me connecter en tant qu'utilisateur non-DBA;
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Lors de la connexion en tant que SYSDBA, j'obtiens ce qui suit;
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
("Connecté à une instance inactive." Est ma traduction d'un message d'erreur localisé, peut-être pas exactement correct) Donc, je suis dans une situation de capture 22, je ne peux pas modifier les paramètres de mémoire sans démarrer, et je peux ne démarre pas.
Existe-t-il un moyen de modifier ces paramètres hors ligne?
la source
spfileSID.ora
etspfile.ora
, puis il essaie de lire à partir de pfileinit.ora
si aucun spfile n'a été trouvé. Soit dit en passant, ilMEMORY_MAX_TARGET
peut être beaucoup plus élevé queMEMORY_TARGET
s'il ne peut pas être modifié dynamiquement - l'instance doit être renvoyée.initSID.ora
fait, noninit.ora
.Les premières versions 11gR1 ont ce bug. Ils ne démarreront pas si memory_target a été défini sur 2 Go (et plus). Mettez à niveau vers 11gR2 (ou 11.1.0.7) ou utilisez des paramètres SGA / PGA "classiques" (sga_target, sga_max_size, pga_aggregate_target).
la source
En supposant que vous utilisez Linux OS: avez-vous vérifié la taille du système de fichiers / dev / shm? La taille de ce fs doit être suffisamment longue pour s'adapter à votre SGA. Sinon, essayez de remonter avec '-o size = xxx'.
la source