Ich entschied mich, die Speicherzuweisung einer lokalen Entwicklerinstanz zu reduzieren, und mir wurde gesagt, dass der folgende Befehl die Aufgabe erledigte.
alter system set memory_max_target = 512M scope = spfile;
Das habe ich wohl getan, da ich die betreffende Oracle-Instanz nicht mehr starten kann. Dies ist der Fehler, den ich bekomme, wenn ich versuche, eine Verbindung als Nicht-DBA-Benutzer herzustellen.
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Wenn ich mich als SYSDBA verbinde, erhalte ich Folgendes:
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
("Verbunden mit einer inaktiven Instanz." Ist meine Übersetzung einer lokalisierten Fehlermeldung, die möglicherweise nicht genau korrekt ist.) Ich bin also in einer Situation, in der es nicht möglich ist, die Speicherparameter zu ändern, ohne zu starten, und ich kann nicht starten.
Gibt es eine Möglichkeit, diese Parameter offline zu ändern?
quelle
spfileSID.ora
undspfile.ora
dann versucht es, aus pfile zu lesen,init.ora
wenn keine SP-Dateien gefunden wurden. ÜbrigensMEMORY_MAX_TARGET
kann es um ein Vielfaches größer sein, alsMEMORY_TARGET
wenn es nicht dynamisch geändert werden kann - die Instanz muss zurückgeworfen werden.initSID.ora
eigentlich nichtinit.ora
.Die frühen 11gR1-Versionen haben diesen Fehler. Sie werden nicht gestartet, wenn das memory_target auf 2 GB (und mehr) festgelegt wurde. Aktualisieren Sie entweder auf 11gR2 (oder 11.1.0.7) oder verwenden Sie "klassische" SGA / PGA-Parameter (sga_target, sga_max_size, pga_aggregate_target).
quelle
Angenommen, Sie verwenden ein Linux-Betriebssystem: Haben Sie die Größe des Dateisystems / dev / shm überprüft? Die Größe dieses fs muss lang genug sein, um zu Ihrer SGA zu passen. Wenn nicht, versuchen Sie erneut mit '-o size = xxx'.
quelle