powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / shared server в разработке
19 сообщений из 19, страница 1 из 1
shared server в разработке
    #39396082
shared server
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Влияет ли наличии настройки shared server (разделяемых сессий) на код приложения? Например, если клиент выполняет команду alter session set ..., после чего эта сессия обрабатывает запрос другого клиента, который не в курсе, что предыдущий выполнил alter session set... и это приводит к ошибке?

При dedicated server сессия может навредить только сама себе. Ужесточаются ли требования к разработке при включении shared server?
...
Рейтинг: 0 / 0
shared server в разработке
    #39396117
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ещё один зомбированный 20168658 нашёлся ... или тот же самый?
...
Рейтинг: 0 / 0
shared server в разработке
    #39396141
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если один серверный процесс обрабатывает запросы нескольких сессий, это вовсе не значит, что сессии зависимые или "разделяемые".
...
Рейтинг: 0 / 0
shared server в разработке
    #39396170
shared server
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tru55Если один серверный процесс обрабатывает запросы нескольких сессий, это вовсе не значит, что сессии зависимые или "разделяемые".

Можно подробнее. Если есть 10 серверных процессов, которые обрабатывают поступающие во входящую очередь запросы. Допустим, формат даты по-умолчанию dd.mm.yyyy. Один из SQL в очереди меняет его на yyyymmdd. Этот запрос берет один серверных процессов и выполняет его. После этого у 9 серверных процессов будет формат даты dd.mm.yyyy, а в одного - yyyymmdd ? Или по-другому работает?
...
Рейтинг: 0 / 0
shared server в разработке
    #39396185
arlx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
shared server,

по умолчанию, все под дождем носят зонтик, но ты одел капюшон, хотя дождь для всех один
...
Рейтинг: 0 / 0
shared server в разработке
    #39396195
shared server,

шаред сервер - это как официант в ресторане. сессии пользователей - посетители ресторана.
каждый посетитель ресторана вправе затребовать себе индивидуальный набор блюд. и даже несмотря на то, что всех этих посетителей будет обслуживать один официант, каждый из посетителей получит именно свой заказ, а не то, что до него заказал другой посетитель...
...
Рейтинг: 0 / 0
shared server в разработке
    #39396200
shared serverВлияет ли наличии настройки shared server (разделяемых сессий ) на код приложения? Например, если клиент выполняет команду alter session set )
Сервер от сессии не отличаешь?
...
Рейтинг: 0 / 0
shared server в разработке
    #39396212
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tru55...серверный процесс обрабатывает запросы нескольких сессий....
shared serverклиент выполняет команду alter session...
shared serverПосле этого у 9 серверных процессов будет...

10 продавцов обслуживают подходяших по очереди покупателей.
Допустим по умолчанию торгуют на рубли.
Один из покупателей в очереди менят рубли на доллары.
После этого у 9 продавцов будет... да как было у каждого по 2 руки, так и останется.
В руки взял, из рук в руки отдал...
Подходи следующий. Что там у вас? Давайте ... получите.
Следующий...
Ну и что там будет у серверных продавцов.. тьфу... процесссов?
...
Рейтинг: 0 / 0
shared server в разработке
    #39396270
shared server
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То есть в случае, если есть 100 пользователей, они устанавливают 100 сессий к БД, и эти 100 сессий обслуживают 10 серверных процессов. Для каждой из ста сессий в БД находится свои собственные настройки, которые меняются через alter session и они никак не смешиваются. Например, одна из сессий включает трассировку и делает запрос. Этот запрос обрабатывается через серверный процесс с учетом включенной трассировки для данной сессии. После этот же серверный процесс будет выполнять запрос уже от другой сессии и так как в ней не включена трассировка, он не делает трейс. То есть серверный процесс связывает поступивший запрос в очереди с окружением сессии, которая этот запрос отправила, а следующий запрос для другой сессии связывает уже с ее окружением правильно?
...
Рейтинг: 0 / 0
shared server в разработке
    #39396276
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть состояние сессии -- оно хранится в UGA, которое, в случае shared server, в свою очередь располагается в SGA, куда имеют доступ все серверные процессы.
И есть состояние процесса -- оно хранится в PGA и никому оно кроме него и не нужно
Для выделенных процессов UGA располагается в PGA
...
Рейтинг: 0 / 0
shared server в разработке
    #39396298
shared server
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответы, теперь понятно, что и при shared и при dedicated варианте каждая сессия влияет только на себя.

А при варианте, когда появляется промежуточное звено в виде пула установленных соединений с БД, например, web-сервер всегда держит 10 соединений. Пользователи не работают напрямую с базой, только через сервер-приложений. Возможен ли такой сценарий. Разработчик забывает для одного модуля приложения отключить отладку. Пользователь заходит в этот модуль и выполняет запрограммированный код. Этот код через одно из десяти соединений передается на БД, где исполняется, в том числе включается трассировка. После чего это же соединение выполняет запрос уже от другого пользователя, но у него же включена трассировка! То есть все запросы через это соединение будет выполняться с отладкой?
...
Рейтинг: 0 / 0
shared server в разработке
    #39396311
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
shared server в разработке
    #39396447
shared serverСпасибо за ответы, теперь понятно, что и при shared и при dedicated варианте каждая сессия влияет только на себя.

А при варианте, когда появляется промежуточное звено в виде пула установленных соединений с БД, например, web-сервер всегда держит 10 соединений. /// То есть все запросы через это соединение будет выполняться с отладкой?
Да.
Потому что тут у тебя shared session с точки зрения веб-пользюков.
Хуже того - при типичной степени рукожопости современных веб-разработчиков, последующие будут комитить изменения в базу, на пол-пути отвалившиеся и потому наполовину внесенные кем-то предыдущим.
Короче будет весело.
Но есть лекарство - DRCP.
Посмотри на него пристально.
...
Рейтинг: 0 / 0
shared server в разработке
    #39396538
shared server
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
шарит серверshared serverСпасибо за ответы, теперь понятно, что и при shared и при dedicated варианте каждая сессия влияет только на себя.

А при варианте, когда появляется промежуточное звено в виде пула установленных соединений с БД, например, web-сервер всегда держит 10 соединений. /// То есть все запросы через это соединение будет выполняться с отладкой?
Да.
Потому что тут у тебя shared session с точки зрения веб-пользюков.
Хуже того - при типичной степени рукожопости современных веб-разработчиков, последующие будут комитить изменения в базу, на пол-пути отвалившиеся и потому наполовину внесенные кем-то предыдущим.
Короче будет весело.
Но есть лекарство - DRCP.
Посмотри на него пристально.

Понятно. То есть не важно, как именно подключается сессия к серверу, она всегда сохраняет только присущий ей набор аттрибутов, состояний и окружения, которые хранятся в UGA. Если один пользователь = одна сессия, то проблем во взаимодействии не возникает. Однако, если делить сессию через сервер приложений, то код нужно писать очень внимательно, т.к. эта же сессия в дальнейшем будет выполнять запрос уже от другого пользователя и если первый пользователь изменил среду сессии, она наследуется вторым пользователем.

А размер DRCP сделан не для тех, кто не умеет держать пул сессий на сервере приложений самостоятельно? Например apache+php
...
Рейтинг: 0 / 0
shared server в разработке
    #39396558
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот с пулом подключений там все не так очевидно
...
Рейтинг: 0 / 0
shared server в разработке
    #39396945
shared server
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вячеслав ЛюбомудровВот с пулом подключений там все не так очевидно

А что там? пул подключений может отслеживать такие события и перед передачей запроса сессии выполнить сброс окружения в дефолтное?
...
Рейтинг: 0 / 0
shared server в разработке
    #39396956
Фотография Alexey Zhidkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав ЛюбомудровЕсть состояние сессии -- оно хранится в UGA, которое, в случае shared server, в свою очередь располагается в SGA, куда имеют доступ все серверные процессы.
И есть состояние процесса -- оно хранится в PGA и никому оно кроме него и не нужно
Для выделенных процессов UGA располагается в PGA
Ты таким ответом можешь ТСа в кому ввести :)
Зависнет на год после прочтения :)
...
Рейтинг: 0 / 0
shared server в разработке
    #39396962
shared serverА размер DRCP сделан не для тех, кто не умеет держать пул сессий на сервере приложений самостоятельно? Например apache+php
А DRCP - это типа очень быстро создаваемые dedicated-серверы/
То есть они де-факто работают как dedicated-server, но при этом connection создается очень-очень быстро с точки зрения клиента (в данном случае - сервера приложения).
Очень-очень быстро - потому что они предварительно подготовлены: есть пулл готовых, уже созданных под конкретную аутентификацию, выделенных (dedicated) серверов. Из этого пула серверный процесс выдается серверу приложения, когда тот создает сессию, и возвращается обратно в пул, когда сервер приложений отцепляется от базы.
То есть в отличие от dedicated-mode при установлении соединения серверный процесс не порождается (не создается), а выдается (он создан заранее), и при завершении соединения серверный процесс не уничтожается, а память его сессионная очищается и он возвращается "в стойло" для ожидания выдачи под обслуживание очередного подключения.
Это как раз спец-мода для веб-приложений, ибо процесс создания соединения в dedicated-mode - штука дорогая по ресурсам.
...
Рейтинг: 0 / 0
shared server в разработке
    #39396969
ПС.
Если ты будешь работать через DRCP, то тебе нет необходимости держать пулл соединений с БД в сервере приложений.
Взамен ты на каждый хит создаешь соединение с БД, а по завершению хита его убиваешь.
И это соединение - только твое, работает в рамках только одного хита, полностью изолируя хиты.
И это соединение - происходит очень быстро, и не жрет, как паровоз, память сервера БД, в отличие от подключения в режиме выделенного сервера.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / shared server в разработке
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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