powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-12519: TNS:не найден подходящий механизм службы
14 сообщений из 14, страница 1 из 1
ORA-12519: TNS:не найден подходящий механизм службы
    #40094872
Fedotov Ruslan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго всем дня!
Не подумайте плохого, тобиж не соизволив погуглить пресловутую ошибку ORA-12519 опять кто-то задаёт вопрос, а решение-то просто как лопата: sessions=(1.1*PROCESSES)+5, transactions=(1.1*SESSIONS), ребут инстанта и вперёд!
Нет всё не так, ресурсов у меня хватает вполне: processes=4000 (max_utilization=336), sessions=7040 (max_utilization=6049), transactions=7744 (max_utilization=174).
Данная ошибка начинает проявляться когда current_utilization sessions>6000, до 5900 всё работает как часы.
Oracle 11.2.0.4 EE x64, OS Windows 2008R2 EE x64. Во что упирается листенер, подскажите плз!
...
Рейтинг: 0 / 0
ORA-12519: TNS:не найден подходящий механизм службы
    #40094880
PuM256
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>6000 - это, как бы, весьма близко к 7040.
...
Рейтинг: 0 / 0
ORA-12519: TNS:не найден подходящий механизм службы
    #40094992
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fedotov Ruslan
sessions=(1.1*PROCESSES)+5
Формула устарела десятилетия назад. Автономки - это тоже сессии, хоть и скрытые. Коэффициент должен быть не меньше 2.
Лучше чтобы бизнес-процесс не смог запуститься из-за PROCESSES, чем ляснулся посередине из-за SESSIONS.
...
Рейтинг: 0 / 0
ORA-12519: TNS:не найден подходящий механизм службы
    #40095005
Fedotov Ruslan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elic, но сколько там этих автономок, по-любому не больше 100, при таких цифрах так сказать ни о чём. Дело в том что до недавнего времени стояло sessions=6000 и было всё предельно ясно 59хх ещё работает, доходит до 6000 и "болт". Сделал 7000 (oracle почему-то исправил на 7040), но к удивлению ничего не изменилось (на примере: sessions max_utilization=6049) на полтинник прибавилось и тоже "болт", думаешь надо поставить processes*2 = 8000 и всё заработает? Чёт я сомневаюсь что причина в этом. Processes же нет смысла увеличивать больше 4000 раз max_utilization всего 336.
...
Рейтинг: 0 / 0
ORA-12519: TNS:не найден подходящий механизм службы
    #40095055
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fedotov Ruslan
... нет смысла увеличивать ...

А вы попробуйте и уж тогда точно поймете был ли смысл увеличивать :-)
...
Рейтинг: 0 / 0
ORA-12519: TNS:не найден подходящий механизм службы
    #40095171
Fedotov Ruslan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну, к сожалению, чтобы поэкспериментировать с параметрами нужна перезагрузка инстанта, сейчас не реально, на выходных попробую, увеличу processes до 6000, sessions до 8000, сомневаюсь что это поможет.
Заодно хотел спросить:
1. Что делает параметр DIRECT_HANDOFF_TTC _LISTENER=ON|OFF в listener.ora (у меня его нет, но с похожей проблемой народ пишет) чёткого описания не нашёл.
2. А какое, вообще, ограничение у ОС Win2008R2EEx64 на количество нитей одного процесса (грешным делом я подумал oracle.exe ведь один процесс).
...
Рейтинг: 0 / 0
ORA-12519: TNS:не найден подходящий механизм службы
    #40095179
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зависит от памяти, но, в тестовых целях, я создавал Java-процессы с 15-20 тысячами потоков на семёрке (клиентский эквивалент 2008R2).
Вот с тысячами сокетов - могут быть варианты.
...
Рейтинг: 0 / 0
ORA-12519: TNS:не найден подходящий механизм службы
    #40095389
Fedotov Ruslan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Надеюсь, что не в виндовые ограничения упёрся. С памятью тоже вроде всё ОК, на хосте 512Gb, SGA 400Gb, PGA 64, Shared режим. Вообщем, поставил processes=6000, sessions=8000 для эксперимента, ребутнул, буду наблюдать когда юзера налезут.
Ну, а про DIRECT_HANDOFF_TTC _LISTENER кто-нить знает?
...
Рейтинг: 0 / 0
ORA-12519: TNS:не найден подходящий механизм службы
    #40095468
Фотография shane54
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fedotov Ruslan
... Shared режим...


О, а вот это новая вводная в Вашей истории. И это много чего меняет, ведь мы именно обсуждаем проблему коннекта при достижении некоего лимита. Т.е. способ коннекта, SHARED/DEDICATED - как раз предмет расследования.

Полагаю, у Вас были достаточные основания для использования MTS, тем более на Windows. Вы же знаете, MTS не самая, скажем так, популярная технология, хотя безусловно имеет право на использование. Просто опыта с ней на порядки меньше, плюс часто в интернете, даже тот же Т.Кайт говорит - используйте, только если ну очень надо. И 6000 сессий - не такое уж большое значение, если бы 60 000 сессий, или 6000 коннектов в секунду - тогда да, тут уж надо думать, что с ними делать.

В общем, MTS привносит свои изменения в привычный "уклад" работы Oracle, и как устанавливаются соединения с базой, и как используется память. Т.к. в случае MTS, UGA выделяется из Large Pool (вместо PGA), а если там уже не хватает - то из Shared Pool - поэтому убедитесь, что Large Pool и Shared Pool достаточно большие для Ваших нескольких тысяч сессий, осмотрите все mts_* параметры - как те что выставлены вручную в INIT.ORA, так и остальные, рассчитанные на их основе значения:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
shared_servers
max_shared_servers
dispatchers
max_dispatchers
circuits
shared_server_sessions
local_listener 



Посмотреть текущие настройки диспетчеров MTS и прочие сопутствующие настройки можно во view (желательно под максимальной нагрузкой, чтобы видеть значения установленных сессий и их распределение по диспетчерам):

Код: plsql
1.
2.
3.
v$dispatcher_config
v$dispatcher
v$shared_server 



Посмотреть количество установленных соединений через MTS диспетчеры можно ещё через вывод lsnrctl services. В смысле - кроме классического поля V$SESSION.SERVER.

В настройках диспетчеров есть свои лимиты SESSIONS и CONNECTIONS. Если они не указаны вручную - то какие именно default-значения они принимают, тем более под Windows - надо смотреть, нет под рукой площадки проверить.

И кстати, для тестов, чтоб не менять настройки базы и не перезагружать её - можно на стороне клиента, если у Вас (вдруг) все коннекты идут из одного места (от одного сервера приложений) - можно в одном месте на время тестов изменить tnsnames.ora файл и добавить SERVER=DEDICATED, таким образом заставить все сессии соединяться в обход MTS, в "обычном" (DEDICATED а не SHARED) режиме. Таким образом можно на день потестировать, проблема в MTS или нет.

Или, чтобы не править конкретный TNS-Alias, можно централизованно добавить в sqlnet.ora строчку:

Код: plsql
1.
USE_DEDICATED_SERVER=ON



Тогда для всех записей (алиасов) в tnsnames.ora, автоматически будет подставляться настройка SERVER=DEDICATED, тут как Вам удобней.

Но еще раз, это удобно и быстро и просто потестировать, если у Вас классическое 3-Tier приложение, и все коннекты в базу идут от одного сервера (или нескольких), и поменять на время тестов tnsnames.ora / sqlnet.ora быстро и не накладно. Если все Ваши 6000+ коннектов идут с 6000+ хостов (компов), и tnsnames.ora / sqlnet.ora у всех свой, локальный, а не общий на shared-диске - то это нереально конечно. Хотя, опять же, всякие варианты с централизованным deployment файлов tnsnames.ora / sqlnet.ora тоже могут быть в организации. Тут уж Вам видней.
...
Рейтинг: 0 / 0
ORA-12519: TNS:не найден подходящий механизм службы
    #40095754
Fedotov Ruslan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
shane54, очень много интересных мыслей, спасибо на наводку!

С памятью, я думаю всё ok; SGA=400Gb из них Shared_pool=80G(free 30G), Large_pool=32G(free 17G), остальное Buffer_cache; PGA=64Gb(free 52G).

А вот с перечисленными параметрами есть вопросы:
shared_servers=50
max_shared_servers=1000
dispatchers=(protocol=TCP)(disp=60)(con=100)
max_dispatchers=200
circuits=(не задано)
shared_server_sessions=(не задано)
local_listener=(не задано)

Ну v$shared_server из 50 под нагрузкой в среднем 20 EXEC, 10 WAIT(COMMON) и 20 WAIT(RECEIVE), так что здесь всё нормально.
У v$dispatcher все 60 status - WAIT, accept - YES, тоже всё хорошо.
Но вот меня смущает con=100, не упираюсь ли я в (60 диспетчеров * на 100 коннектов = 6000 сессий) в shared режиме, естественно dedicated сессии видимо вылезут выше 6000 и будут ограничены только параметром sessions. Но это пока лишь моя догадка, буду ждать пика, когда юзера конкретно подналезут, такое случается не каждый день.
...
Рейтинг: 0 / 0
ORA-12519: TNS:не найден подходящий механизм службы
    #40097857
Fedotov Ruslan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большой респект shane54.
Проблема решена!
Никакие увеличения sessions до 8000 и processes до 6000 не помогли, так и оставил sessions=7000, processes вообще опустил до 1000.
Как и предполагал, проблема в ограничении: dispatchers=(protocol=TCP)(disp=60)(con=100), т.е 60*100=6000 сессий по Shared режиму. Поставил dispatchers='(protocol=TCP)(disp=50)(con=140)' 50*140=7000 и пулемёт застрочил с новой силой.
Ещё раз спасибо всем!
...
Рейтинг: 0 / 0
ORA-12519: TNS:не найден подходящий механизм службы
    #40097910
flexgen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fedotov Ruslan
оставил sessions=7000, processes вообще опустил до 1000.


Ты уверен что после того как количество processes было выставлено равным 1000 количество сессий осталось равным 7000?

Есть такой вот документ - How to calculate the proper value from processes, sessions, and transactions (Doc ID 1682295.1) , при количестве процессов равном 1000 количество сессий должно быть
11g-> ((1.5 * PROCESSES) + 22)=1522
...
Рейтинг: 0 / 0
ORA-12519: TNS:не найден подходящий механизм службы
    #40097922
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
flexgen
11g-> ((1.5 * PROCESSES) + 22)=1522
22367239
...
Рейтинг: 0 / 0
ORA-12519: TNS:не найден подходящий механизм службы
    #40097936
Fedotov Ruslan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
11g-> ((1.5 * PROCESSES) + 22)=1522
Да, есть такое дело, это рекомендуемый формат, формула работает если не задавать параметр SESSIONS, можно задать тупо PROCESSES и не париться, Oracle сам выставит количество сессий. Если прописать руками processes=1000, sessions=7000 всё работает как задано (не разглагольствую, проверено).
Я опустил processes до 1000 из соображений, что по этому параметру max_utilization у меня 330.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-12519: TNS:не найден подходящий механизм службы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]