Сервер БД Oracle

У вас сложности? Наши специалисты постараются помочь вам. Если вы сами сталкивались с похожими проблемами - поделитесь опытом.

Модераторы: Trinity admin`s, Free-lance moderator`s

ArtKuznetsov
Junior member
Сообщения: 7
Зарегистрирован: 23 ноя 2009, 16:27
Откуда: Воронеж

Re: Сервер БД Oracle

Сообщение ArtKuznetsov » 24 ноя 2009, 14:52

Надеюсь, вы знаете, что rule based optimizer в 10м оракле уже не поддерживается?
Во этого не знал, можно поподробнее?
Что мешает на тестовой системе включить CBO и сымитировать нагрузку со стороны веба?
Это есть в планах, займемся обязательно :)
Похоже, это из-за фулл сканов таблиц, которые в keep pool
Тут мне не очень понятно вот что: когда я запрашиваю план для второго запроса в Toad или трассировке, иногда получаю full scan, иногда по индексам, вот так:

Код: Выделить всё

Execution Plan
----------------------------------------------------------
           SELECT STATEMENT Optimizer Mode=RULE
   1         SORT UNIQUE
   2    1      FILTER
   3    2        TABLE ACCESS BY INDEX ROWID INFORM.ПЕРЕДАЧИ
   4    3          INDEX RANGE SCAN INFORM.IND_ВРЕМЯ_РЕАЛ
   5    2        TABLE ACCESS BY INDEX ROWID INFORM.СУБКАНАЛЫ
   6    5          INDEX UNIQUE SCAN INFORM.СУБКАНАЛ_PK
Непонятно, почему такие расхождения?

hitower
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 357
Зарегистрирован: 23 дек 2007, 15:35
Откуда: Москва
Контактная информация:

Re: Сервер БД Oracle

Сообщение hitower » 24 ноя 2009, 15:23

ArtKuznetsov писал(а):Цитата:
Надеюсь, вы знаете, что rule based optimizer в 10м оракле уже не поддерживается?


Во этого не знал, можно поподробнее?
Вот статейка например:
http://www.oracle.com/technology/oramag ... uning.html
ArtKuznetsov писал(а):Тут мне не очень понятно вот что: когда я запрашиваю план для второго запроса в Toad или трассировке, иногда получаю full scan, иногда по индексам, вот так:
Возможно, подставляете в запрос конкретные параметры - получается другой план.

Если уж пользуетесь RBO - хотя бы хинты к запросам напишите - какие индексы использовать, как объединять таблицы и т.д.

P.S. в 10м оракле есть SQL advisor - помогает выбрать план и сделать недостающие индексы, доступен через enterprise manager.

ArtKuznetsov
Junior member
Сообщения: 7
Зарегистрирован: 23 ноя 2009, 16:27
Откуда: Воронеж

Re: Сервер БД Oracle

Сообщение ArtKuznetsov » 24 ноя 2009, 15:32

hitower,
За статью спасибо, прочитаю
SQL Advisor использовали, приняли его рекомендации по индексам - все создали.

И все-таки хотелось бы услышать мнение о том, где стоит покопаться в настройке параметров самого Oracle, может, инициализационные параметры? (кроме optimizer_mode)

hitower
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 357
Зарегистрирован: 23 дек 2007, 15:35
Откуда: Москва
Контактная информация:

Re: Сервер БД Oracle

Сообщение hitower » 24 ноя 2009, 16:26

ArtKuznetsov писал(а):hitower,
SQL Advisor использовали, приняли его рекомендации по индексам - все создали.

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

Можно еще попробовать large pages включить у оракла, хотя 2 гига - это еще не тот объем, на котором чувствуется торможение.

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

Дисковую систему не мешает сделать мощнее. Возможно, имеет смысл положить индексы на SSD диски.

Если таблицы и индексы большие - помогает секционирование.
Но сначала избавьтесь от RBO.

ArtKuznetsov
Junior member
Сообщения: 7
Зарегистрирован: 23 ноя 2009, 16:27
Откуда: Воронеж

Re: Сервер БД Oracle

Сообщение ArtKuznetsov » 25 ноя 2009, 10:11

hitower,
Спасибо за советы! Будем пробовать..

Ответить

Вернуться в «Серверы - Решение проблем»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 15 гостей