Я решил уменьшить выделение памяти для экземпляра локального разработчика, и мне сказали, что следующая команда справилась со своей задачей;
alter system set memory_max_target = 512M scope = spfile;
Как я полагаю, так и было, поскольку я больше не могу запускать рассматриваемый экземпляр Oracle. Это ошибка, которую я получаю, когда пытаюсь подключиться не как пользователь DBA;
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
При подключении как SYSDBA я получаю следующее;
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
(«Подключен к неактивному экземпляру.» - это мой перевод локализованного сообщения об ошибке, может быть не совсем корректным). Итак, я нахожусь в ситуации с ловушкой 22, я не могу изменить параметры памяти без запуска и могу не пускай
Есть ли способ изменить эти параметры в автономном режиме?
источник
spfileSID.ora
аspfile.ora
затем он пытается прочитать из pfile,init.ora
если spfiles не найден. Кстати,MEMORY_MAX_TARGET
вполне может быть во много раз больше, чем,MEMORY_TARGET
хотя он не может быть изменен динамически - экземпляр должен быть отклонен.initSID.ora
самом деле это не такinit.ora
.В ранних выпусках 11gR1 есть эта ошибка. Они не запустятся, если для memory_target было установлено 2 ГБ (и более). Либо обновите до 11gR2 (или 11.1.0.7), либо используйте «классические» параметры SGA / PGA (sga_target, sga_max_size, pga_aggregate_target).
источник
Предполагая, что вы используете ОС Linux: вы проверили размер файловой системы / dev / shm? Размер этого fs должен быть достаточно длинным, чтобы соответствовать вашему SGA. Если нет, попробуйте перемонтировать с '-o size = xxx'.
источник