Прерывающееся “Oracle Communication: Не удалось подключиться к серверу”

Вопрос или проблема

Недавно мне пришлось перенести свою базу данных Oracle 11g с сервера Windows 2012 R2 на сервер Windows 2022, и я стал получать периодические ошибки “Oracle Communication: Не удалось подключиться к серверу или разобрать строку подключения”. Если я перезагружаю сервер, проблема исчезает, но через некоторое время возвращается. Чтобы мигрировать базу данных, я установил программное обеспечение Oracle, использовав настройки по умолчанию для базы данных, и изменил её, чтобы она отражала настройки старой базы данных, затем я экспортировал данные из старой базы и импортировал их в новую базу, без проблем. Я получил все свои данные и код PL/SQL (пакеты, процедуры и функции), и все мои приложения получают к ним доступ без проблем. В конечном итоге я планирую обновиться с 11g до 23AI, но для целей миграции я остался на 11g, чтобы упростить и ускорить процесс. В любом случае, я получаю эти периодические ошибки при входе в базу данных и предполагаю, что я пропустил какую-то настройку. Если я ввожу имя пользователя и пароль несколько раз (в последний раз три), в конечном итоге я могу войти, но эта проблема возникает во время обработки данных через мои приложения и вызывает проблемы с данными. У кого-нибудь есть идеи, что происходит? Я предполагаю, что где-то пропустил настройку, но не знаю какую. Старая база данных работала 8 лет на Windows 2012 R2 и никогда не имела этой проблемы.

Что ж, это оказалось незначительной проблемой. Когда я устанавливал базу данных, максимальное количество подключений по умолчанию было установлено на 150, и, похоже, этого недостаточно в моей рабочей среде. Я установил максимальное количество подключений на 300, и с тех пор у меня не было ни одного случая ошибки. Для тех, кто не знает, как установить максимальное количество подключений: alter system set processes = 300 scope = spfile; и затем перезапустите базу данных, чтобы изменения вступили в силу.

Ответ или решение

Проблема, с которой вы столкнулись, действительно может быть связана с ограничением максимального количества подключений в вашей установке Oracle. После миграции базы данных на новый сервер и установки значений по умолчанию, вы столкнулись с ошибкой "Oracle Communication: Failed to connect to server or parse connection string", что говорит о том, что система не может обработать исходящие запросы на соединение.

Как вы правильно отметили, настройка максимального количества процессов (или соединений) очень важна, и в вашем случае значение по умолчанию (150) оказалось недостаточным для вашей среды приложений. Поскольку вы увеличили максимальное количество подключений до 300 с помощью команды:

ALTER SYSTEM SET PROCESSES = 300 SCOPE = SPFILE;

и перезапустили базу данных, это решило вашу проблему.

Однако, помимо увеличения максимального числа подключений, рекомендуется также обратить внимание на следующие аспекты:

  1. Мониторинг нагрузки: Убедитесь, что система имеет достаточные ресурсы (ЦП, память, диск) для обработки нагрузки. Вы можете использовать динамические представления, такие как V$SESSION и V$PROCESS, чтобы следить за текущим состоянием сессий и процессов.

  2. Настройки сети: Проверьте конфигурацию сетевой подсистемы, особенно если у вас есть сетевые задержки или проблемы с маршрутизацией между клиентами и сервером базы данных.

  3. Параметры инициализации: Пересмотрите другие параметры инициализации базы данных, такие как sessions, который определяется как sessions = processes * 1.1 + 5 и может потребовать дополнительного увеличения вместе с processes.

  4. Логи ошибок: Проверьте файлы журналов ошибок Oracle, так как в них могут содержаться дополнительные подсказки относительно проблем соединения.

  5. Обновление: Поскольку вы планируете обновить свою базу данных с 11g до 23c, убедитесь, что вы документируете все изменения и обновления, которые вы делаете. Более свежие версии могут иметь улучшенные механизмы обработки соединений и производительности, и вам могут пригодиться рекомендации по настройке.

Если вы продолжаете сталкиваться с подобными проблемами после всех этих изменений, возможно, стоит рассмотреть возможность увеличения числа процессоров и выполнения тестирования производительности для определения более оптимальных параметров конфигурации для вашей среды.

Оцените материал
Добавить комментарий

Капча загружается...