Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
08.05.2002, 08:01
|
|||
---|---|---|---|
Хочу фоновые транзакции |
|||
#18+
Читая вчера раздел "Сравнение различных СУБД" наткнулся на забавный пост http://www.sql.ru/cgi-bin/UltraBoard/UltraBoard.pl?Action=ShowPost&Board=sqlflame&Post=22&Idle=365&Sort=0&Order=Descend&Page=0&Session= Цитирую: >> У Oracle уже больше 10 лет есть одно достоинство, про которое все "сравниватели" почему-то забывают. И которое делает сравнение этих двух СУБД не совсем правомерным. Это достоинство отсутствует у SQL Server и в ближайшем будущем не предвидится. Oracle позволяет определять для пользователя квоты на использование ресурсов СУБД и сервера. Иными словами, если у вас есть задачка на массовую закачку данных или какой-то очень навороченный SELECT, то в случае SQL Server-а этот процесс заберёт большую часть ресурсов и все остальные пользователи будут или висеть, или работать очень медленно. В случае c Oracle-ом можно сделать так, что это процесс будет выполняться в фоновом режиме, пусть дольше, но зато не будет глушить других пользователей базы данных. Итак, хочу организовать такую штуку, как фоновые транзакции. Соответственно, в СУБД должен быть некий механизм, позволяющий "транзакцию" растянуть на определенное время. То есть, не используя этот механизм, транзакция выполняется 10 секунд и съедает 50% использования ЦПУ. При использования этого механизма можно добиться, чтобы транзакция длилась, например, 1 минуту и за время своего выполнения использовала бы всего не более 10% ЦПУ. Что же там пишут в документации разработчики? Обращаемся в мой любимый раздел Концепций ("Oracle8i Concepts") и параллельно к разделам Oracle8i SQL Reference. Обращаем внимания на Controlling Database Access/User Resource Limits and Profiles и SQL предложения CREATE USER ... PROFILE .... и CREATE PROFILE .... В общем вижу, что для пользователя можно создать профиль (CREATE PROFILE), в котором будут заданы некоторые параметры, позволяющие решить мою задачу. И? Дальше то что? Параметры вроде CPU_PER_SESSION, CPU_PER_CALL это конечно хорошо, но что они дают? Просто ограничивают сессию/транзакцию по времени. Превышено время - откатываем транзакцию/закрываем сессию. Ну а где то, что мне нужно? Где это пресловутый параметр, который ограничивает % использования ЦПУ транзакцией? Нету. Значит верхняя цитата не имеет право на жизнь? Не верю! Выходит, я не нуда смотрю или не так смотрю. Господа Оракл-гуру, помогите! P.S. На самом деле задача реальная, а вовсе не разглагольствования, и в течении ближайшего времени мне ее необходимо решить. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=52&tablet=1&tid=1993352]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
35ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 132ms |
0 / 0 |