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

Откуда:
Сообщений: 522
Задача такая.

Есть таблица без индексов.
Я заливаю туда данные.
Затем строю несколько индексов. Простых. древовидных, несоставных.

Индексы строятся долго.

Собственно вопрос. Можно ли как-то Oracle сказать, чтобы он все эти индексы параллельно построил. Т.е один раз делал бы сканирование таблицы и сразу строил все индексы.
30 окт 06, 17:24    [3331587]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли параллельно построить несколько индексов.  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15490
нет
30 окт 06, 18:05    [3331886]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли параллельно построить несколько индексов.  [new]
--
Guest
Maxifly
Задача такая.

Есть таблица без индексов.
Я заливаю туда данные.
Затем строю несколько индексов. Простых. древовидных, несоставных.

Индексы строятся долго.

Собственно вопрос. Можно ли как-то Oracle сказать, чтобы он все эти индексы параллельно построил. Т.е один раз делал бы сканирование таблицы и сразу строил все индексы.


использовать опцию PARALLEL
30 окт 06, 18:38    [3332080]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли параллельно построить несколько индексов.  [new]
MacDuck
Member

Откуда: Москва-Подольск
Сообщений: 6387
Maxifly
параллельно построил. Т.е один раз делал бы сканирование таблицы и сразу строил все индексы.


Такого нет, но ты каждый из них можешь параллельно строить.
30 окт 06, 18:44    [3332109]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли параллельно построить несколько индексов.  [new]
Anton Demidov
Member

Откуда: Atlanta, GA
Сообщений: 1187
Maxifly
Индексы строятся долго.
Для сессии, что строит индексы выствь большой sort_area_size
ALTER SESSION SET SORT_AREA_SIZE=52428800; -- 50Mb
30 окт 06, 21:16    [3332414]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Можно ли параллельно построить несколько индексов.  [new]
Maxifly
Member

Откуда:
Сообщений: 522
Эх, реанимирую я старуютему...

А вот можно в описываемой в сабже ситуации запустить скажем столько джобов, сколько индексов и каждому дать задание один из индексов построить?

Получится или нет. И есть ли тут какие подводные камни?

Понятно, что основная сессия как-то должна узнать о том, что джобы работу закончили. Ну а кроме этого какие проблемы могут возникнуть?
21 мар 08, 16:06    [5442981]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли параллельно построить несколько индексов.  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15490
Maxifly
Эх, реанимирую я старуютему...

А вот можно в описываемой в сабже ситуации запустить скажем столько джобов, сколько индексов и каждому дать задание один из индексов построить?

Получится или нет. И есть ли тут какие подводные камни?

Понятно, что основная сессия как-то должна узнать о том, что джобы работу закончили. Ну а кроме этого какие проблемы могут возникнуть?


ну а я - реанимирую старый ответ:

(нет)
21 мар 08, 16:11    [5443030]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли параллельно построить несколько индексов.  [new]
Maxifly
Member

Откуда:
Сообщений: 522
to orawish:

А почему нет-то?
В этой ситуации будет столько сессий - сколько будет запущено джобов.
И каждый джоб будет один индекс перестраивать.

Разве так не получится?
21 мар 08, 16:17    [5443089]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли параллельно построить несколько индексов.  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15490
Maxifly
to orawish:

А почему нет-то?
В этой ситуации будет столько сессий - сколько будет запущено джобов.
И каждый джоб будет один индекс перестраивать.

Разве так не получится?

на известных мне версиях сервера - нет.. (да и в перспективе - не ждите, имхо)
21 мар 08, 16:21    [5443136]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли параллельно построить несколько индексов.  [new]
Maxifly
Member

Откуда:
Сообщений: 522
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0

RAC.
6 4-х процессорных узлов.
21 мар 08, 16:25    [5443173]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли параллельно построить несколько индексов.  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15490
Maxifly
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0

RAC.
6 4-х процессорных узлов.

Оч. просто. Без всяких джобов - откройте два сеанса и выполните в каждом кре инд так быстро,
чтобы первый не успел завершиться до исполнения (команды) второго.
Сервер вам всё скажет.
21 мар 08, 16:29    [5443203]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли параллельно построить несколько индексов.  [new]
Maxifly
Member

Откуда:
Сообщений: 522
orawish
Maxifly
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0

RAC.
6 4-х процессорных узлов.

Оч. просто. Без всяких джобов - откройте два сеанса и выполните в каждом кре инд так быстро,
чтобы первый не успел завершиться до исполнения (команды) второго.
Сервер вам всё скажет.


я так и сделал. Оба перестроились
21 мар 08, 16:34    [5443256]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли параллельно построить несколько индексов.  [new]
DВА
Member

Откуда:
Сообщений: 5439
Maxifly
orawish
Maxifly
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0

RAC.
6 4-х процессорных узлов.

Оч. просто. Без всяких джобов - откройте два сеанса и выполните в каждом кре инд так быстро,
чтобы первый не успел завершиться до исполнения (команды) второго.
Сервер вам всё скажет.


я так и сделал. Оба перестроились

перестроились или создались? :)
21 мар 08, 16:36    [5443281]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли параллельно построить несколько индексов.  [new]
Maxifly
Member

Откуда:
Сообщений: 522
ALTER INDEX E_kuku_I REBUILD PARALLEL 4 NOLOGGING
21 мар 08, 16:41    [5443334]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли параллельно построить несколько индексов.  [new]
индекс
Guest
Я проверил - можно. Делал с опицей online и без нёе.

Видно по v$session_wait, v$session_longops. Взаимоблокировок не было - тоже проверил.
21 мар 08, 17:06    [5443534]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли параллельно построить несколько индексов.  [new]
индекс
Guest
Выдержка из v$session_longops в момент создания индексов. Две сессии.
SID	SERIAL#	OPNAME	TARGET	TARGET_DESC	SOFAR	TOTALWORK	UNITS	START_TIME	LAST_UPDATE_TIME	TIME_REMAINING	ELAPSED_SECONDS	CONTEXT	MESSAGE	USERNAME	SQL_ADDRESS	SQL_HASH_VALUE	QCSID

16	379	Sort Output			1826	2967	Blocks	21.03.2008 17:04:53	21.03.2008 17:05:04	7	11	0	Sort Output:  : 1826 out of 2967 Blocks done	SYS	08BDF7D4	0	0
20	12	Sort/Merge			1953	4940	Blocks	21.03.2008 17:04:57	21.03.2008 17:05:04	11	7	0	Sort/Merge:  : 1953 out of 4940 Blocks done	SYS	0B26F7D4	0	0
21 мар 08, 17:08    [5443549]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли параллельно построить несколько индексов.  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15490
индекс
Я проверил - можно. Делал с опицей online и без нёе.

Видно по v$session_wait, v$session_longops. Взаимоблокировок не было - тоже проверил.


таки что, можно?

DВА
..перестроились или создались? :)

??
21 мар 08, 17:20    [5443648]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли параллельно построить несколько индексов.  [new]
Maxifly
Member

Откуда:
Сообщений: 522
На вопрос перестроились или создались:

Индексы были UNUSABLE
я сделал им REBUILD
(Конкретную команду я приводил выше)
21 мар 08, 17:43    [5443819]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли параллельно построить несколько индексов.  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15490
Maxifly
На вопрос перестроились или создались:

Индексы были UNUSABLE
я сделал им REBUILD
(Конкретную команду я приводил выше)

ну? и?

честно говоря, после риторического вопроса DBA
я думал - обсуждать больше нечего..
21 мар 08, 17:51    [5443873]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли параллельно построить несколько индексов.  [new]
Maxifly
Member

Откуда:
Сообщений: 522
Никто ведь не мешает создать индекс с UNUSABLE
А затем параллельно запустить их перестройку.

Вообще-то я хотел обсудить будет ли это быстрее чем перестраивать индексы друг за другом.
21 мар 08, 18:08    [5443978]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли параллельно построить несколько индексов.  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15490
Maxifly
Никто ведь не мешает создать индекс с UNUSABLE
А затем параллельно запустить их перестройку.

Вообще-то я хотел обсудить будет ли это быстрее чем перестраивать индексы друг за другом.

alter index/create index
рюскэм изык панэмаиш? :)

ну, да - создать индекс с UNUSABLE есть затычка такая.

а про быстрее - с чего бы? если (напр.) параллельным выполнением одного ddl - запустил
жужжать все привода и кипеть все мозги.
21 мар 08, 18:19    [5444031]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли параллельно построить несколько индексов.  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15490
вот - от сердца (типа) отрываю..

немного не то, но рядом и маслом:
влияние, в конкретной (случайной, на самом деле) железяке, параллелизма (лёжа)
на скорость построения некого секционированного индекса.
верхняя группа линиев суть попугаеоперациев в сумме на все параллельные процессы одного ddl нижняя - попугаев на каждый из параллельных процессов..

Без мелкоскопа видно - сколько шапок кроить из той овцы.

К сообщению приложен файл. Размер - 0Kb
21 мар 08, 18:49    [5444125]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить