Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 построение индекса по большому объему данных  [new]
Дмитрий_Кунин
Member

Откуда:
Сообщений: 356
Доброго времени суток!

есть БД, которая изначально была не правильно спроектирована.
Теперь требуется построить индекс по 10 Тб. данных.
Если строить "в лоб" - построение вылетает с ошибкой - не могу увеличить табличное пространство TEMP (ORA-1652: unable to extend temp segment by 128 in tablespace TEMP)...

подскажите пожалуйста как это можно обойти...

Заранее благодарю!
30 сен 10, 09:26    [9527130]     Ответить | Цитировать Сообщить модератору
 Re: построение индекса по большому объему данных  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18482
Увеличить его ручками/создать дополнительное, назначить на него пользователя, после построения индекса грохнуть.
Так же можно выставить workarea_size_policy=manual для сессии и задрать значение sort_area_size, но я, вроде, не заметил сильных улучшений, по сравнению с auto
30 сен 10, 09:29    [9527143]     Ответить | Цитировать Сообщить модератору
 Re: построение индекса по большому объему данных  [new]
Филарет
Member

Откуда:
Сообщений: 539
создать новое большое временное ТП, назначить его пользователю. После создания убить.
30 сен 10, 09:30    [9527146]     Ответить | Цитировать Сообщить модератору
 Re: построение индекса по большому объему данных  [new]
Дмитрий_Кунин
Member

Откуда:
Сообщений: 356
автор
Увеличить его ручками/создать дополнительное, назначить на него пользователя, после построения индекса грохнуть.
Так же можно выставить workarea_size_policy=manual для сессии и задрать значение sort_area_size, но я, вроде, не заметил сильных улучшений, по сравнению с auto


>workarea_size_policy=manual для сессии и задрать значение sort_area_size
при построении индекса на меньших объемах - прокатывало (давало выигрыш в производительности).

>Увеличить его ручками/создать дополнительное, назначить на него пользователя, после построения индекса грохнуть.

вопрос такой: какой размер должен быть у темп табл спейса для индексации 10Тб. данных?
30 сен 10, 10:05    [9527401]     Ответить | Цитировать Сообщить модератору
 Re: построение индекса по большому объему данных  [new]
wurdu
Member

Откуда: Владивосток
Сообщений: 4441
Дмитрий_Кунин
вопрос такой: какой размер должен быть у темп табл спейса для индексации 10Тб. данных?
Каким образом посчитал эти 10Тб?
30 сен 10, 10:07    [9527418]     Ответить | Цитировать Сообщить модератору
 Re: построение индекса по большому объему данных  [new]
Дмитрий_Кунин
Member

Откуда:
Сообщений: 356
автор
Каким образом посчитал эти 10Тб?

из представления user_segment
30 сен 10, 10:08    [9527423]     Ответить | Цитировать Сообщить модератору
 Re: построение индекса по большому объему данных  [new]
Филарет
Member

Откуда:
Сообщений: 539
Дмитрий_Кунин

вопрос такой: какой размер должен быть у темп табл спейса для индексации 10Тб. данных?

автоекстент ему скажи.

зы
тока не ложи туда куда логи архивные создаются :)
30 сен 10, 10:11    [9527440]     Ответить | Цитировать Сообщить модератору
 Re: построение индекса по большому объему данных  [new]
wurdu
Member

Откуда: Владивосток
Сообщений: 4441
Дмитрий_Кунин
автор
Каким образом посчитал эти 10Тб?

из представления user_segment
Т.е. сегмент содержит только поля по которым строится индекс?
30 сен 10, 10:14    [9527458]     Ответить | Цитировать Сообщить модератору
 Re: построение индекса по большому объему данных  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18482
И ничего не удалялось
30 сен 10, 10:16    [9527475]     Ответить | Цитировать Сообщить модератору
 Re: построение индекса по большому объему данных  [new]
wurdu
Member

Откуда: Владивосток
Сообщений: 4441
В общем, я как-то подсчитывал место под сортировку. В 10g бывает два типа сортировки в trace 10032 прописывается какая используется, типа version 2 sort. Для version 2 sort на 64 bit требовалось где-то в 1.6 больше памяти чем сортируемые данные.
30 сен 10, 10:23    [9527522]     Ответить | Цитировать Сообщить модератору
 Re: построение индекса по большому объему данных  [new]
Дмитрий_Кунин
Member

Откуда:
Сообщений: 356
автор
Т.е. сегмент содержит только поля по которым строится индекс?

нет, тут я был не точен)) это таблица, ну столбцов 10 там... по одному из них стромим индекс=> temp tablespase должен быть 1Тб?
автор
автоекстент ему скажи.

ну автоэкстент это понятно но автоэестентиться он будет только до 32 Гб (примерно при блоке БД 4К)...те надо создать файлов TEMP TABLESPASE= сколько надо места\32Гб...
а сколько создавать - хз... теру? две?
30 сен 10, 10:24    [9527530]     Ответить | Цитировать Сообщить модератору
 Re: построение индекса по большому объему данных  [new]
wurdu
Member

Откуда: Владивосток
Сообщений: 4441
Дмитрий_Кунин
нет, тут я был не точен)) это таблица, ну столбцов 10 там... по одному из них стромим индекс=> temp tablespase должен быть 1Тб?
Ну естли например все поля char(одно и то же число), нет null, блоки не содержат удаленных строк, hwm не задрана, то я бы выделил 1.6 Тб :)
30 сен 10, 10:27    [9527551]     Ответить | Цитировать Сообщить модератору
 Re: построение индекса по большому объему данных  [new]
Дмитрий_Кунин
Member

Откуда:
Сообщений: 356
убиство... решение не в стиле оракла)))
30 сен 10, 11:16    [9528093]     Ответить | Цитировать Сообщить модератору
 Re: построение индекса по большому объему данных  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18482
Какие проблемы
Предложи свое
30 сен 10, 11:19    [9528136]     Ответить | Цитировать Сообщить модератору
 Re: построение индекса по большому объему данных  [new]
Дмитрий_Кунин
Member

Откуда:
Сообщений: 356
ну если это локальный индекс (как в моем случае) - писать партициями...
30 сен 10, 11:34    [9528322]     Ответить | Цитировать Сообщить модератору
 Re: построение индекса по большому объему данных  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18482
А он так и делает
Партизан хренов...
30 сен 10, 11:41    [9528419]     Ответить | Цитировать Сообщить модератору
 Re: построение индекса по большому объему данных  [new]
-2-
Member

Откуда:
Сообщений: 15330
Дмитрий_Кунин
ну если это локальный индекс (как в моем случае) - писать партициями...
noparallel или create index unusable + rebuild partition
30 сен 10, 11:41    [9528422]     Ответить | Цитировать Сообщить модератору
 Re: построение индекса по большому объему данных  [new]
Дмитрий_Кунин
Member

Откуда:
Сообщений: 356
автор
А он так и делает
Партизан хренов...

хм, тогда странно что выкинул с такой ошибкой у меня нет партиций больше 10 Гб., TEMP было unlimited (32 Гб.). Других операций в базе в тот момент не выполнялось....
30 сен 10, 12:26    [9528967]     Ответить | Цитировать Сообщить модератору
 Re: построение индекса по большому объему данных  [new]
mcureenab
Member

Откуда: Murmansk
Сообщений: 5928
Может параметры STORAGE неудачно выбраны, например PCTINCREASE.

Как несколько дикий вариант. Выгрузи данные в отсортированном виде и загрузи их SQL Loader и создай индекс с опцией NOSORT.
30 сен 10, 17:24    [9532324]     Ответить | Цитировать Сообщить модератору
 Re: построение индекса по большому объему данных  [new]
-2-
Member

Откуда:
Сообщений: 15330
mcureenab
Может параметры STORAGE неудачно выбраны, например PCTINCREASE.
storage на область сортировки?:
Дмитрий_Кунин
ORA-1652: unable to extend temp segment by 128 in tablespace TEMP
30 сен 10, 18:01    [9532757]     Ответить | Цитировать Сообщить модератору
 Re: построение индекса по большому объему данных  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 18337
Коллеги, при создании индекса TEMP сегмент создается в целевом ТП...
30 сен 10, 18:04    [9532778]     Ответить | Цитировать Сообщить модератору
 Re: построение индекса по большому объему данных  [new]
recovery manager
Guest
andrey_anonymous,

:-)

ORA-1652: unable to extend temp segment by 128 in tablespace TEMP
30 сен 10, 18:15    [9532837]     Ответить | Цитировать Сообщить модератору
 Re: построение индекса по большому объему данных  [new]
RA\/EN
Member

Откуда:
Сообщений: 3658
andrey_anonymous
Коллеги, при создании индекса TEMP сегмент создается в целевом ТП...
Это не TEMP сегмент, сам индекс, только недоделанный.
30 сен 10, 18:41    [9532981]     Ответить | Цитировать Сообщить модератору
 Re: построение индекса по большому объему данных  [new]
mcureenab
Member

Откуда: Murmansk
Сообщений: 5928
SQL трассировка расставит точки над Ё.
30 сен 10, 18:52    [9533028]     Ответить | Цитировать Сообщить модератору
 Re: построение индекса по большому объему данных  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 18337
RA\/EN
andrey_anonymous
Коллеги, при создании индекса TEMP сегмент создается в целевом ТП...
Это не TEMP сегмент, сам индекс, только недоделанный.

Это именно TEMP сегмент, который станет настоящим когда индекс таки построится.
Если мне склероз не изменяет, то ORA-1652 могло ругаццо неправильно.
Я бы помониторил загрузку TEMP tablespace в процессе - не факт что именно sort area в TTS приводит к проблеме.
Впрочем, дело хозяйское.
30 сен 10, 18:55    [9533042]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Oracle Ответить