Делает ли ALTER INDEX REBUILD ONLINE индексы недействительными? - PullRequest
1 голос
/ 08 сентября 2010

Я работаю в оракуле 11g. Оказывает ли ALTER INDEX REBUILD ONLINE индексы недействительными при параллельном выполнении?

Ответы [ 2 ]

1 голос
/ 08 сентября 2010

Новый индекс строится параллельно, и пока идет перестройка, старый индекс все еще доступен. Однако при замене нового индекса на старый индекс наступает период (возможно, короткий), когда ни один индекс не доступен.

Из http://www.oracle -base.com / Articles / 9i / HighAvailabilityEnhancements9i.php # OnlineIndexRebuilds :

Когда ключевое слово ONLINE используется как часть синтаксиса CREATE или ALTER текущий индекс остается неизменным, в то время как новая копия индекса создается, позволяя DML получить доступ к старому индексу. Любые изменения старого индекса записано в индексной организованной таблице известный как "журнальный стол". Однажды перестройка завершена переделки из таблицы журнала объединены в новый индекс. Это может занять несколько проходит в зависимости от частоты изменения в указателе. Процесс пропустит все заблокированные строки и зафиксирует каждые 20 рядов. После слияния операция завершена данные словарь обновляется и старый индекс упал. Доступ только по DML заблокирован во время словаря данных обновления, которые завершаются очень быстро.

0 голосов
/ 08 сентября 2010

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

Не вижу, чтобы это стало недействительным. Может быть, в течение очень короткого времени в определенный момент активируется «новый» индекс. Пока еще не нашли никаких документов об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...