SQL.RU
 client/server technologies
 
 Главная | Документация | Статьи | Книги | Форум | Опросы | Рассылка | Работа | Поиск | FAQ |

Добро пожаловать в форум, Guest  >>  Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / OLAP и DWH Новый топик  Ответить
 Tuning Oracle RDB for DWH purposes   [new]
essbase.ru
Member

Откуда:
Сообщений: 246
Коллеги , подскажите что и как тюнить в ядре Oracle 10.2x, что бы разогнать движок для целей DWH, а то боюсь перемудрить с данными настройками ( данные настройки я собрал из рекомендаций вендора по тюнингу Oracle + best practices из открытых источников) -

aq_tm_processes  1  
audit_sys_operations  FALSE  
audit_trail  NONE  
compatible  10.2.0.3.0  
db_block_size  8192  
db_cache_size  16777216  
db_domain   
db_file_multiblock_read_count  32  
db_name  dwh  
db_writer_processes  4  
dml_locks  500  
fast_start_mttr_target  300  
hash_area_size  1048576  
java_pool_size  48MB  
job_queue_processes  10  
large_pool_size  16777216  
log_buffer  134217728  
nls_language  AMERICAN  
nls_length_semantics  CHAR  
nls_territory  AMERICA  
open_cursors  300  
parallel_automatic_tuning  TRUE  
pga_aggregate_target  808MB  
processes  1000  
remote_login_passwordfile  EXCLUSIVE  
sessions  1500  
shared_pool_size  800MB  
sort_area_size  134217728  
star_transformation_enabled  TRUE  
timed_statistics  FALSE  
trace_enabled  FALSE  
undo_management  AUTO  
21 апр 09, 09:41    [7089973] Ответить | Цитировать    Сообщить модератору

 Re: Tuning Oracle RDB for DWH purposes   [new]
Goster
Member

Откуда: Питер
Сообщений: 416
Сложно говорить о настройках в общем. Но вот пара моментов у меня вызвали сомнения:
Во-первых, стоит подумать об увеличении размера блока. Как правило, для хранилища удобнее использовать больший размер блока.
Во-вторых, мне кажется, что стоит использовать Automatic PGA Memory Management. То есть не надо задавать значения *_area_size и т.д. или положить их = 0. Тем более, если Вы не уверены в своих настройках. Возможно, стоит подумать и об Automatic Shared Memory Management. Ручная настройка имеет смысл на уже после того когда вы поймете что конкретно Вам нужно и какие операции чаще выполняются. Если все же придерживаетесь ручной настройки, то не уверен, что нужен такой большой log_buffer. В DWH преимущественно используются нелогируемые операции. Возможно, стоит увеличить hash_area_size.
В-третьих я не уверен, что стоит использовать PARALLEL_AUTOMATIC_TUNING. Лучше выставить побольше parallel_execution_message_size и выключить parallel_adaptive_multi_user.
21 апр 09, 11:07    [7090521] Ответить | Цитировать    Сообщить модератору

 Re: Tuning Oracle RDB for DWH purposes   [new]
essbase.ru
Member

Откуда:
Сообщений: 246
автор
В DWH преимущественно используются нелогируемые операции


и как отключить логирование ?
21 апр 09, 11:14    [7090599] Ответить | Цитировать    Сообщить модератору

 Re: Tuning Oracle RDB for DWH purposes   [new]
А6дуллаh
Member [заблокирован]

Откуда:
Сообщений: 1514
Оптимизировать надо, если что-то не устраивает. Вирт сказал.
А оптимизация впереди решения задачи - очень распространенная ошибка.
По моему опыту ничего тюнить не надо, из коробки неплохо работает.

И еще желательно корректные тесты проводить.
А то любят некоторые размер блока из теоретических соображений подкручивать, а в современных железках столько всяких фич и параметров - что результат рекомендаций 15-летней давности не гарантирован.

Что-то меняете - имейте серьезный тест, проверяющий вашу гипотезу. Если нет результата - пусть ваш тюнинг ложится бременем на вашу совесть. :)
Это как менять десктопы и визуальные параметры в Винде вместо работы. Очень приятно, но к делу чаще всего не имеет отношения.
21 апр 09, 11:29    [7090703] Ответить | Цитировать    Сообщить модератору

 Re: Tuning Oracle RDB for DWH purposes   [new]
essbase.ru
Member

Откуда:
Сообщений: 246
автор А6дуллаh
По моему опыту ничего тюнить не надо, из коробки неплохо работает.


это кто как любит :) уверен что для OLTP задач и DWH должны быть различные настройки
- такие как отключение транзакций , логирования и пр. поэтому и замарачиваюсь с данными настройками
21 апр 09, 11:35    [7090766] Ответить | Цитировать    Сообщить модератору

 Re: Tuning Oracle RDB for DWH purposes   [new]
essbase.ru
Member

Откуда:
Сообщений: 246
dreaft 2

aq_tm_processes  1  
audit_sys_operations  FALSE  
audit_trail  NONE  
cluster_database  FALSE  
compatible  10.2.0.3.0  
cursor_sharing  EXACT  
db_block_size  8192  
db_cache_size  16MB  
db_domain   
db_file_multiblock_read_count  32  
db_name  dwh  
db_writer_processes  4  
dml_locks  500  
fast_start_mttr_target  300  
hash_area_size  67108864  
job_queue_processes  10  
log_buffer  134217728  
nls_language  AMERICAN  
nls_length_semantics  CHAR  
nls_territory  AMERICA  
open_cursors  300  
parallel_adaptive_multi_user  FALSE  
parallel_automatic_tuning  FALSE  
parallel_execution_message_size  17184  
pga_aggregate_target  808MB  
processes  1000  
remote_login_passwordfile  EXCLUSIVE  
sessions  1500  
sga_target  1536MB  
skip_unusable_indexes  TRUE  
sort_area_size  134217728  
sql_trace  FALSE  
sql_version  NATIVE  
star_transformation_enabled  TRUE  
timed_statistics  FALSE  
trace_enabled  FALSE  
undo_management  AUTO  
undo_tablespace  UNDOTBS1  
workarea_size_policy  AUTO  
21 апр 09, 11:36    [7090779] Ответить | Цитировать    Сообщить модератору

 Re: Tuning Oracle RDB for DWH purposes   [new]
А6дуллаh
Member [заблокирован]

Откуда:
Сообщений: 1514
essbase.ru
автор
В DWH преимущественно используются нелогируемые операции


и как отключить логирование ?


отключить ARCHIVELOG
и в большинстве DDL, DML есть NOLOGGING
21 апр 09, 11:39    [7090797] Ответить | Цитировать    Сообщить модератору

 Re: Tuning Oracle RDB for DWH purposes   [new]
А6дуллаh
Member [заблокирован]

Откуда:
Сообщений: 1514
Goster

В-третьих я не уверен, что стоит использовать PARALLEL_AUTOMATIC_TUNING. Лучше выставить побольше parallel_execution_message_size и выключить parallel_adaptive_multi_user.


А вот я в DBA Manual по Oracle DWH читал ровно наоборот. Так что сейчас насоветуют :)

PQO полезен, если ваше средство, читающее данные, не умеет параллелить запросы в несколько потоков. Тогда PQO их параллелит.
В ином случае ручная параллельность эффективней.
Ну и, число "ручных" параллельных потоков или сервер-процессов PQO не должно превосходить числа ядер CPU. Это уже не тюнинг базы, а оптимизация вашего прикладного решения.
21 апр 09, 11:43    [7090824] Ответить | Цитировать    Сообщить модератору

 Re: Tuning Oracle RDB for DWH purposes   [new]
Goster
Member

Откуда: Питер
Сообщений: 416
Что-то мне кажется, что Вы много лишнего написали.
Думаю, не стоит использовать _area_size параметры, раз уж Вы задаете pga_aggregate_target.
workarea_size_policy тоже можете опустить. Вы уверены в своих настройках *_pool_size? Если нет, то лучше их не использовать. Отключение диагностических опций мне также кажется непредусмотрительным. Кстати, на практике модификация dml_lock почти никогда не нужна. В общем, для начала чем меньше настроек тем лучше.Изменять их стоит, когда вы на конкретном экземпляре поймете что вам нужно. В общем согласен с тем, что оптимизировать надо, если что-то не устраивает.
21 апр 09, 12:00    [7090949] Ответить | Цитировать    Сообщить модератору

 Re: Tuning Oracle RDB for DWH purposes   [new]
Goster
Member

Откуда: Питер
Сообщений: 416
А6дуллаh
В ином случае ручная параллельность эффективней.

Есть какие-то результаты исследований? Интересно было бы ознакомиться.

Опять же, ETL выполняется на внешнем сервере или на этом же?
21 апр 09, 12:04    [7090981] Ответить | Цитировать    Сообщить модератору

 Re: Tuning Oracle RDB for DWH purposes   [new]
essbase.ru
Member

Откуда:
Сообщений: 246
Спасибо Oracle
который УЖЕ все продумал и рассказал
http://download.oracle.com/docs/cd/E12825_01/epm.111/fdm_dba.pdf
30 апр 09, 15:48    [7135079] Ответить | Цитировать    Сообщить модератору

 Re: Tuning Oracle RDB for DWH purposes   [new]
essbase.ru
Member

Откуда:
Сообщений: 246
хотя этот документ добавил больше вопросов, чем ответов %(
30 апр 09, 15:57    [7135138] Ответить | Цитировать    Сообщить модератору

 Re: Tuning Oracle RDB for DWH purposes   [new]
Apex
Member

Откуда: Краснодар
Сообщений: 2548
А6дуллаh

отключить ARCHIVELOG

Не надо этого делать! Логирование прекрасно отключается на уровне конкретной операции комбинацией direct-path loading и nologging на сегменте, если нет индексов. Но не надо отключать ARCHIVELOG на всей базе.

Ключевое отличие в настройках Оракла для DWH:
- Использование больших блоков, как уже сказали, я бы рекомендовал 32к, т.к. дает хорошее сжатие, особенно если заливать с сортировкой
- Использование больших значений параметра pga_aggregate_target, можно смело ставить половину всей памяти доступной серверу
- Параметр db_cache_size не так важен, т.к. кэшировать придется только небольшие таблицы, факты все равно не поместятся и должны читаться в обход кэша многоблочными чтениями. Я бы прикинул размер всех таблиц справочников, накинул процентов 30 и на этом успокоился.
- Нужен большой shared_pool, чтобы хранить историю запросов, который в DWH обычно без параметров.
- Нужен достаточный large_pool, т.к. параллельные процессы обмениваются данными через нет (или через shared_pool, в случае, если large_pool не сконфигурирован)
- Размер parallel_execution_message_size я выставил в 8к, но можно поиграть с бОльшими значениями
- OPTIMIZER_INDEX_COST_ADJ поставил побольше, чтобы у оптимизатора реже возникало желание использовать NL'и
- ну и STAR_TRANSFORMATION разумеется в true.
--
Остальное зависит от...
30 апр 09, 17:14    [7135582] Ответить | Цитировать    Сообщить модератору

 Re: Tuning Oracle RDB for DWH purposes   [new]
Юрий Кудрявцев
Member

Откуда:
Сообщений: 462
Apex

- OPTIMIZER_INDEX_COST_ADJ поставил побольше, чтобы у оптимизатора реже возникало желание использовать NL'и


А цель -- максимум hash? Видел в паре мест как это быстро заканчивало всю память.
30 апр 09, 19:14    [7136047] Ответить | Цитировать    Сообщить модератору

 Re: Tuning Oracle RDB for DWH purposes   [new]
Apex
Member

Откуда: Краснодар
Сообщений: 2548
Юрий Кудрявцев

А цель -- максимум hash? Видел в паре мест как это быстро заканчивало всю память.

Не максимум, но больше чем обычно. То, что память заканчивается - это конечно грустно, но ждать пока закончится джойн нескольких миллионов записей через NL - тоже невесело.
1 май 09, 00:37    [7136626] Ответить | Цитировать    Сообщить модератору

 Re: Tuning Oracle RDB for DWH purposes   [new]
softwarer
Member

Откуда: Москва
Сообщений: 24460
Apex
Но не надо отключать ARCHIVELOG на всей базе

Спорно, имхо. Зависит от источников данных и регламента обновления.
1 май 09, 17:14    [7137178] Ответить | Цитировать    Сообщить модератору

 Re: Tuning Oracle RDB for DWH purposes   [new]
Apex
Member

Откуда: Краснодар
Сообщений: 2548
softwarer
Apex
Но не надо отключать ARCHIVELOG на всей базе

Спорно, имхо. Зависит от источников данных и регламента обновления.
Как-то неубедительно. Если регламент обновления таков, что база по сути одноразовая (целиком вся переписывается, как витрина), то разумеется спорно. Если нет, тогда недостатков гораздо больше, чем ничтожный выигрышь на генерации архивных логов. Александр, вот вы часто наблюдали, чтобы ожидания сброса данных в журнал, или их архивирования были основной проблемой производительности? Я разок столкнулся, но на сильно нагруженной OLTP, где 2 гиговый лог заполнялся за 2 минуты. Там проблему решили настройкой массива.
1 май 09, 19:34    [7137309] Ответить | Цитировать    Сообщить модератору

 Re: Tuning Oracle RDB for DWH purposes   [new]
softwarer
Member

Откуда: Москва
Сообщений: 24460
Apex
Если нет, тогда недостатков гораздо больше, чем ничтожный выигрышь на генерации архивных логов.

Не факт. Я бы в первую очередь спросил, зачем вообще нужны архивные логи для конкретного хранилища. Те задачи, которые ими решаются, актуальны в олтп-окружении, в поступлении невосстановимой информации из уймы источников в разные моменты времени. В хранилище же имхо надо смотреть, что они дадут такого, с чем плохо справляется схема "загрузка - полный бэкап".
1 май 09, 20:29    [7137388] Ответить | Цитировать    Сообщить модератору

 Re: Tuning Oracle RDB for DWH purposes   [new]
Зл0й
Member

Откуда: Северная Калифорния
Сообщений: 686
Я бы прежде чем что-то тюнить померил напряжометром и посмотрел где затык. Потом проанализировал бы по какой причине он происходит. А уже потом бы решал где тюнить (в СУБД или вне ее) и как. А игрища с параметрами СУБД в поисках магического fast=true обычно приводят к тому что починив в одном месте мы поломали в трех других местах, что неминуемо вылезет, хотя возможно и не сразу.

Системный подход нужен, для начала определимся ЗАЧЕМ мы тюним, потом определимся ЧТО мы тюними а уже потом КАК.
2 май 09, 05:58    [7137880] Ответить | Цитировать    Сообщить модератору

 Re: Tuning Oracle RDB for DWH purposes   [new]
essbase.ru
Member

Откуда:
Сообщений: 246
Зл0й,

Цели определены в заголовке топика
Что - снимаем OLTP функциональность
а вот как мы обсуждаем .

IMHO я предпочитаю плавать в бассейне в плавках , а не в костюме "пригодным" на все случаи жизни :D
2 май 09, 11:12    [7138001] Ответить | Цитировать    Сообщить модератору

Все форумы / OLAP и DWH Ответить
Generated time: 218ms.
Rambler's Top100 Powered by ActualForum 1.5.3 [s1] Copyright (c) Alex Sibilev 2000-2010