Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » СУБД Oracle (Оракл - для поиска:)).

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

Открыть новую тему     Написать ответ в эту тему

landy



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
параллельной обработке большого количества данных  

для такой задачи у оракла есть Exadata, но ценник там, конечно, негуманный

Всего записей: 576 | Зарегистр. 17-01-2003 | Отправлено: 22:10 03-12-2014
rrromano



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
например в параллельной обработке большого количества данных  
 
Добавлено:  
или наоборот - обработка незначительного набора данных в памяти когда нужно и чтение и запись

 
База обычно тюнингуется под конкретные задачи.

Всего записей: 283 | Зарегистр. 20-09-2006 | Отправлено: 18:47 01-01-2015
deyatel1974

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
База обычно тюнингуется под конкретные задачи.

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

Всего записей: 23 | Зарегистр. 10-08-2014 | Отправлено: 21:50 01-01-2015
landy



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
он работает в сто или тысячу раз медленнее чем раньше на 486

Да, есть такой момент, но зато он может обрабатывать много клиентов/потоков параллельно, чего 486 не мог.
 
В целом, итерационные и вычислительные алгоритмы нужно из БД выносить. Мне знакома единственная СУБД, которая может с ними работать действительно быстро - kdb+. Ну а оракл - он для другого совсем предназначен.

Всего записей: 576 | Зарегистр. 17-01-2003 | Отправлено: 16:37 02-01-2015 | Исправлено: landy, 16:37 02-01-2015
deyatel1974

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
оракл - он для другого совсем предназначен

например для чего? если он нормально не может выполнять то что работало быстрее двадцать лет назад?

Всего записей: 23 | Зарегистр. 10-08-2014 | Отправлено: 18:02 03-01-2015
landy



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
например для чего? если он нормально не может выполнять то что работало быстрее двадцать лет назад?

Например, чтобы собрать в одном месте 10-100 Тб (сколько там было адресное пространство у 486?) данных и медленно их просуммировать.

Всего записей: 576 | Зарегистр. 17-01-2003 | Отправлено: 00:32 05-01-2015
someone312002



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
меня больше всего раздражает то что перепиешь какой-нибудь простой алгоритм на плскл - он работает в сто или тысячу раз медленнее чем раньше на 486

Значится, надо смотреть, где "собака порылась", и где надо копать Вам. В каждом конкретном случае можно найти причину "медленной отработки" блока. Самое простое, что пришло на ум - использование адвайзеров памяти (помошнички) для оптимизации размера выделяемой памяти.
 
Ищите и обрящите!
С наступившим новым годом !!!
 
УДАЧИ !!!

----------
"я не волшебник - я только учусь" (c)

Всего записей: 234 | Зарегистр. 19-08-2002 | Отправлено: 09:46 05-01-2015
rrromano



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
меня больше всего раздражает то что перепиешь какой-нибудь простой алгоритм на плскл - он работает в сто или тысячу раз медленнее чем раньше на 486

PL/SQL - язык, ориентирован на работу с данными. То-есть, на реляционную алгебру. В этой нише он работает настолько быстро, насколько позволяет минимальный радиус кривизны рук админа и программиста. И то там есть уже всякие коллекции и т. д. А если нужен хитрый алгоритм, то можно использовать хранимые процедуры на Java или на C.

Всего записей: 283 | Зарегистр. 20-09-2006 | Отправлено: 11:09 05-01-2015
landy



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Значится, надо смотреть, где "собака порылась", и где надо копать Вам. В каждом конкретном случае можно найти причину "медленной отработки" блока. Самое простое, что пришло на ум - использование адвайзеров памяти (помошнички) для оптимизации размера выделяемой памяти.  

Найти-то причину можно, но вот полностью разрешить проблему, согласен, можно далеко не всегда, ибо часто она лежит глубоко внутри концепции СУБД. А от адвайзеров эффект есть только на самой начальной стадии, а дальше часто один вред.

Всего записей: 576 | Зарегистр. 17-01-2003 | Отправлено: 12:25 05-01-2015
landy



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
PL/SQL - язык, ориентирован на работу с данными. То-есть, на реляционную алгебру

rrromano, строго говоря, на реляционную алгебру ориентирован язык SQL, а PL/SQL - его процедурное расширение, специфичное для оракла и позволяющее делать уже обычные итерационные алгоритмы. Производительность первого сильно зависит от построенной в БД модели данных (правильные индексы и табличные структуры), ну а для второго - действительно программист должен явным образом использовать коллекции и пореже переключать контекст между этими движками (не стоит, например, без явной необходимости включать в список полей SQL-запроса вызов PL/SQL-функции.)

Всего записей: 576 | Зарегистр. 17-01-2003 | Отправлено: 23:18 07-01-2015 | Исправлено: landy, 23:20 07-01-2015
rrromano



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
строго говоря, на реляционную алгебру ориентирован язык SQL, а PL/SQL - его процедурное расширение, специфичное для оракла и позволяющее делать уже обычные итерационные алгоритмы. Производительность первого сильно зависит от построенной в БД модели данных (правильные индексы и табличные структуры), ну а для второго - действительно программист должен явным образом использовать коллекции и пореже переключать контекст между этими движками (не стоит, например, без явной необходимости включать в список полей SQL-запроса вызов PL/SQL-функции.)

Все так и есть ). И каждый толковый ораклоид обязан как минимум изредка заглядывать в тексты Тома Кайта ).

Всего записей: 283 | Зарегистр. 20-09-2006 | Отправлено: 15:35 08-01-2015
deyatel1974

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ето все конечно интересно но что делать мне когда оракл сильно тормозит на простой задаче? админы говорят что это buffer busi - что это?

Всего записей: 23 | Зарегистр. 10-08-2014 | Отправлено: 22:52 10-01-2015
landy



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
админы говорят что это buffer busi - что это?

Это событие ожидания, возникающее при попытке одновременного доступа к одним и тем же блокам данных из многих потоков сразу. Самая частая причина - план запроса изменился и теперь включает полное сканирование одной из таблиц. Лечится обычно пересбором статистики по всем входящим в SQL-запрос таблицам или корректировкой запроса на предмет уменьшения его показателя LIO - количества обращений к блокам в памяти.

Всего записей: 576 | Зарегистр. 17-01-2003 | Отправлено: 13:59 11-01-2015 | Исправлено: landy, 14:14 11-01-2015
deyatel1974

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
как мне для начала найти запрос - их там очень много..

Всего записей: 23 | Зарегистр. 10-08-2014 | Отправлено: 09:11 12-01-2015
landy



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
как мне для начала найти запрос

Самое надежное - взять свой проблемный PL/SQL-блок и запустить его с трассировкой, для чего перед его исполнением выдать команду:
 
alter session set events '10046 trace name context forever, level 12';
 
После чего попросить админа переслать тебе полученный файл и обработать его утилитой OraSRP. В полученном отчете будет четко видно - на какой запрос сколько времени и прочих ресурсов ушло.

Всего записей: 576 | Зарегистр. 17-01-2003 | Отправлено: 12:09 12-01-2015
svavka



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
как мне для начала найти запрос - их там очень много..

Попробуй тех же админов, или можешь сам (если прав хватит) собрать AWR на проблемном по времени участке, там и топ запросов увидишь и почему они "тормозить" начали.  
ИМХО 90% случаев можно решить без трассировки запроса, анализом ожиданий и планов.
 

Цитата:
админы говорят что это buffer busi - что это?

Возможно оочень много клиентов обращаются (работают, изменяют) к одним и тем же ресурсам - в итоге из-за того что данные "грязные" Oracle-у приходится туго.
 
В общем кури AWR, будут вопросы пиши.
 
Пока информации очень мало, но статистику попробуй собрать
 

Всего записей: 21 | Зарегистр. 22-04-2009 | Отправлено: 21:57 14-01-2015 | Исправлено: svavka, 22:00 14-01-2015
landy



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
ИМХО 90% случаев можно решить без трассировки запроса, анализом ожиданий и планов.  

Ожидания по данному конкретному запросу могут легко потеряться в общей статистике, поэтому трассировка гораздо надёжнее, тем более, что ТС вполне может воспроизвести проблему.

Всего записей: 576 | Зарегистр. 17-01-2003 | Отправлено: 17:37 15-01-2015
svavka



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Конечно трассировка дает более менее конкретное понимание проблемы, но зачастую доступа к ней нет, а если запрос начал "шалить" на продуктиве? И хоть умучайся на своих базах, ты не всегда сможешь воспроизвести проблему.

Всего записей: 21 | Зарегистр. 22-04-2009 | Отправлено: 21:57 02-02-2015
deyatel1974

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
сегодня еще проблема случилась база повисла при записи. вроде и строк было немного  всего несколько десятокв миллионов. это тоже пробема для оракла?

Всего записей: 23 | Зарегистр. 10-08-2014 | Отправлено: 11:10 20-02-2015
landy



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
это тоже пробема для оракла

Каждую строчку, поди, коммитил?

Всего записей: 576 | Зарегистр. 17-01-2003 | Отправлено: 11:37 20-02-2015
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » СУБД Oracle (Оракл - для поиска:)).


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru