Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TOracleSession опасна для сервера !!! [D5, D6]


YDV ©   (2003-04-18 13:50:00) 

Доброго Вам времени суток !

У Вас возникала ситуация когда есть много юзеровских программ на одной машине, которые работают с одним и тем же сервером ORACLE ?
В этом случае на сервере для каждой сессии выделяется память, а если прог много, а компьютеров в сети ну очень много, то время от времени сервер захлебывается от нехватки памяти.
Можно ли создать главную прогу с одной OracleSession, а остальнымы прогами использовать ее для связи с сервером(в этом случае получается всего лишь одна активная сессия, а остальные или DataSet-ы или Query), при чем формовый вариант не подходит - на разных компах могут быть только свои программы(их несколько и запускать их в виде одного приложения в виде кучи форм невыгодно - памяти на клиентской машине мало !)...

заранее спасибо за ответ !


id_privin   (2003-04-21 15:50:00) [1]

1) SharedServer - настройка Oracle
2) ApplicationServer - как прослойка между Oracle и клиентом. Как раз та сессия которую совмесно пользуют.
3) Просто памяти побольше, а памяти под одну сессию поменьше


pl_quad   (2003-04-21 10:07:00) [2]

а лучше на сервак поставить памяти ведро - не так уж и дорого это сейчас


pl_quad   (2003-04-21 10:04:00) [3]

напиши свою DLL, которая будет создавать TOracleSession при первом обращении, а всем остальным подпихивать уже существующую.
Все проги коннектятся через эту DLL. И, таким образом, получаем кол-во сессий = кол-во клиентских машин. Правда, с транзакциями придется повозиться и USERNAME на каждой машине может быть только 1.


Внук   (2003-04-21 09:55:00) [4]

От себя добавлю - можно сделать и одну сессию на все приложения. Только вот сначала очень серьезно подумайте, как Вы будете разруливать транзакции в этом случае. А TOracleSession - оно рулез, форева...


ak111   (2003-04-21 09:48:00) [5]

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


makdi   (2003-04-21 09:27:00) [6]

Если возникла такая проблема, тогда не лучше рассмотреть вариант: поставить какой-нить Application Server(можно и Оракловский) и работать через него? И конектов будет не много...


Sergey13   (2003-04-21 08:58:00) [7]

2YDV (18.04.03 13:50)
>TOracleSession опасна для сервера !!!
8-) Смело, очень смело. Но спорно. Ибо обычно кривые руки опасны. И не только для сервера.
Для таких утверждений неплохо бы посмотреть цифири. Сколько памяти, сколько сессий, настройки и т.д. и т.п... наконец версию Оракла.


BlackTiger   (2003-04-20 09:28:00) [8]

Это азбука.

И касается она всех баз данных, а не только Оракула. В идеале должно быть так - подключился-забрал-отключился. Как раз это сейчас продвигается в .NET и dbExpress. (В .NET, правда, нет других вариантов :( ).


YDV   (2003-04-19 21:01:00) [9]

>а не передерутся они при одновременной работе?

не должны - программы запущены, а работают не все одновременно, поэтому и приходится наварачивать ...


Desdechado   (2003-04-18 16:11:00) [10]

> одна активная сессия, а остальные или DataSet-ы или Query
а не передерутся они при одновременной работе?


CbIH   (2003-04-18 15:01:00) [11]

Можно еще внимательно посмотерть на connection pool сервера... Возможно, не стоит на каждый реквест открывать соединение? Диспетчеров поставить нормальное количество... ;)


Anatoly Podgoretsky   (2003-04-18 13:56:00) [12]

Это не TOracleSession виноват, а слабые характеристики машины, вы ее перегрузили, заставили делать больше, чем она способна.
Надо не с последитвиями бороться, а с причиной. Поставить больше памяти, более мощный процессор, другую операционку, то есть пивести среду в соответсвие с задачей.


Наверх

Титульная страница Поиск, карта сайта Написать письмо