powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / INITRANS или FREELISTS ?
6 сообщений из 6, страница 1 из 1
INITRANS или FREELISTS ?
    #32029730
user1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос по поводу INITRANS или FREELISTS.

У меня на Oracle 8i несколько юзеров (2-4 человека) инсертят и (или) апдейтят несколько одних и тех-же таблиц одновременно из программы на дельфи 5, использующей starttransaction - commit(transaction) (update разных записей естественно).

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

Что же мне делать?
Параметры INITRANS или FREELISTS стоят у всех таблиц по умолчанию =1, может быть увеличть их значения?

p. s. вообще-то у нас 2-х процессорный сервер. может еще и FREELISTS GROUPS изменить на 2, предварительно настроив init.ora на 2 процессора? или не стоит так извращаться если скорость работы сервера и так устраивает (база совсем маленькая - мегов 100)?
...
Рейтинг: 0 / 0
INITRANS или FREELISTS ?
    #32029774
provi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нефига ты тут не сделаешь, это Oracle
не дает работать, это нормальный вариант блокировке при работе...
...
Рейтинг: 0 / 0
INITRANS или FREELISTS ?
    #32029806
vskv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно, поделюсь опытом в настройке субж для OLTP системы
Нужно "задирать" и INITRANS, и FREELISTS. В идеальном случае, оба они должны быть больше,
чем одновременно пишущих в базу процессов.
В случае, когда идут только изменения, а не вставки, то достаточно подымать INITRANS.
Кстати, FREELISTS поднять не пересоздав таблицу нельзя. А вот с FREELISTS GROUPS не игрался -- слишком тонкая штучка.

Но эти все рассуждения верны только в том случае, если процессы независимы. Если они могут друг друга блокировать, например пытаются выбрать max(keynum) из таблицы, куда потом будут вставлять запись, то субж тебе не помошник.

И заранее -- дальше ты столкнёшься с тем, что у тебя rollback не хватает, и v$rollstat.waits растёт семимильными шагами. Потом начнёшь делить индексы и таблицы по разным дискам, параллельно думая, а как мне уменьшить число индексов с 15 до хотя бы 10
В общем, та ещё развлекуха.

Кстати, если общий объём базы меньше чем block_buffers*block_size, то жизнь становится ещё веселее. Кстати, надеюсь сервер не пытается каждый раз парсить запрос???

P.S. Любимое дело ждать "LOCK FOR UPDATE", если приложение плохо спроектированно.
...
Рейтинг: 0 / 0
INITRANS или FREELISTS ?
    #32030133
vskv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, советую всем сходить по прилагаемой ссылке: очень полезная штука -- этакий рекламный проспект, куда глядеть, если всё вроде хорошо, а опыта в тонкой настройке Оракула нету.

"http://www.njoug.org/Optimizing Update Intensive Tables Using Wait Events - 1.ppt"
...
Рейтинг: 0 / 0
INITRANS или FREELISTS ?
    #32030156
user1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо за ответы.
2 vskv - ссылочка просто замечательная, подробно отвечает на вопрос что делать. Как делать - это уже действительно зависит от опыта, но я постараюсь поднять значения параметров в ближайшее время (это ж ночью надо делать - днем юзера не поймут )
...
Рейтинг: 0 / 0
INITRANS или FREELISTS ?
    #32030157
user1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо за ответы.

2 vskv - ссылочка просто замечательная, подробно отвечает на вопрос что делать. Как делать - это уже действительно зависит от опыта, но я постараюсь поднять значения параметров в ближайшее время (это ж ночью надо делать - днем юзера не поймут )

p. s. Сперва хотел обидеться на фразу "Любимое дело ждать "LOCK FOR UPDATE", если приложение плохо спроектированно",
а потом поговорил с основным разработчиком программы - а он и правда плохо спроектировал
, надеюсь переделает со временем, а то надоело сессии снимать .

Вот так то - "Век живи - век учись".
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / INITRANS или FREELISTS ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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