Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Слетает статистика  [new]
Статистика _сука
Guest
Доброго времени суток. Не могу ничего понять. DB 10.2.0.4.0. На сервере работает автоматический сбор статистики. Чего не могу понять??!!! Время от времени запросы которые ходили по индексу начинают пускать фулл скан по таблицам. Вопрос решается сбором статистики, причем вторая странность в том, что помогает не dbms_stats, а старый добрый analaze. Может у кого-то есть мысли по этому поводу???
8 июл 10, 15:41    [9072726]     Ответить | Цитировать Сообщить модератору
 Re: Слетает статистика  [new]
YAP
Member

Откуда: Киев
Сообщений: 2116
Why Does My Plan Change?
8 июл 10, 16:29    [9073318]     Ответить | Цитировать Сообщить модератору
 Re: Слетает статистика  [new]
bisadm
Member

Откуда:
Сообщений: 6
Статистика _сука,

Можно было бы попробовать dbms_stats.diff_table_stats_in_history, если бы использовался только dbms_stats для сбора.
Сомнительно, что dbms_stats не помогает. Нужно идентифицировать неверные решения оптимизатора в проблемных запросах, понять, с чем это связано.

Из мыслей, не имея детальной информации, сходу приходит только неудачный sample, но причин может быть множество.
8 июл 10, 16:50    [9073566]     Ответить | Цитировать Сообщить модератору
 Re: Слетает статистика  [new]
Тупой Пух
Member

Откуда:
Сообщений: 134
Статистика _сука,

а что показывает
select * from dba_scheduler_jobs where program_name = 'GATHER_STATS_PROG'

может стандартный сбор статистики по начам шалит?
8 июл 10, 17:42    [9074077]     Ответить | Цитировать Сообщить модератору
 Re: Слетает статистика  [new]
Dimka9
Member

Откуда: Владивосток
Сообщений: 1851
Статистика _сука,

причин для смены плана вагон и маленькая тележка. И статистика может быть где-то далеко в этом списке. Например bind variable peeking. А помогает пересбор тем что он инвалидирует "нехороший" план. С тем же успехом ты можешь создать коммент на табличку из "плохого" запроса. И скорее всего аналайз делает инвалидацию более явно нежели.

Думаю DBMS_STATS.GATHER_TABLE_STATS( ... no_invalidate=>FALSE ) - начнет помогать так же как аналайз.
9 июл 10, 01:47    [9075587]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить