powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / shrink и row movement могут быть причиной блокировок? При ужатии используется Undo?
9 сообщений из 9, страница 1 из 1
shrink и row movement могут быть причиной блокировок? При ужатии используется Undo?
    #39247338
insonicum_dana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица изменений (некий аудит) в БД, которую хочется ужать.
Таблица обновляется каждую минуту и весит 250 Гб.
Размер Undo 120 Гб.

В связи с этим у меня возникло два вопроса:

1. какова вероятность наткнуться на блокировки в момент shrink + row movement?

2. При ужатии таблицы, будет ли использоваться Undo? Боюсь, что не хватит Undo,
так как размер одной таблицы больше размера всего Undo tablespace.

Увеличить Undo нет возможности, нет свободного места на диске.
...
Рейтинг: 0 / 0
shrink и row movement могут быть причиной блокировок? При ужатии используется Undo?
    #39247359
insonicum_dana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ещё один вопрос, который возникает: это вероятное снижение производительности:

Enable row movement can cause performance problems

http://www.dba-oracle.com/t_enable_row_movement.htm

авторUsing the enable row movement clause can reduce the clustering_factor for a primary access index, causing excessive I/O.
Oracle introduced the sorted gash cluster as a way to keep an index in-order with the table rows, a technique that greatly
reduces I/O for common queries.
...
Рейтинг: 0 / 0
shrink и row movement могут быть причиной блокировок? При ужатии используется Undo?
    #39247440
роумовер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
бурлесонщинаUsing the enable row movement clause can reduce the clustering_factor for a primary access index, causing excessive I/O.
Oracle introduced the sorted gash cluster as a way to keep an index in-order with the table rows, a technique that greatly
reduces I/O for common queries. не надо всецело доверять этому сайту. там либо банальщина, либо урезание более комплексных вопросов до примитива, но уже с искажением истины до противоположной.

во-первых написано "cab reduce" но демонстрируют увеличение.
во-вторых, экскрементам подвергается кластер, а не регулярная таблица, видимо поэтому размер сцн у них занимает +364 байта на строку и строка 404 байта занимает блок целиком.
оттуда же доступ по ключу вдруг превратился в 300000 reads.
в-третьих. от ётогр энаблядства у них уменьшился размер блока с 16к до 4к.
...
Рейтинг: 0 / 0
shrink и row movement могут быть причиной блокировок? При ужатии используется Undo?
    #39248545
ora601
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
insonicum_dana1. какова вероятность наткнуться на блокировки в момент shrink + row movement?



Если он online, то какие блокировки?
...
Рейтинг: 0 / 0
shrink и row movement могут быть причиной блокировок? При ужатии используется Undo?
    #39253790
insonicum_dana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ora601insonicum_dana1. какова вероятность наткнуться на блокировки в момент shrink + row movement?



Если он online, то какие блокировки?

в редакции Oracle SE One online работает?
...
Рейтинг: 0 / 0
shrink и row movement могут быть причиной блокировок? При ужатии используется Undo?
    #39253791
insonicum_dana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и что будет с undo?
move повлияет на undo?

сессия обращается к данным, которые в данный момент мувятся.
будет временное чтение данных из Undo, которые ещё не смувились?
...
Рейтинг: 0 / 0
shrink и row movement могут быть причиной блокировок? При ужатии используется Undo?
    #39253929
ora601
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
insonicum_danaora601пропущено...


Если он online, то какие блокировки?

в редакции Oracle SE One online работает?

shrink не может быть not online, он by default online, потому что другая активность не ожидает завершения shrink'a, с небольшим уточнением.

Документация :
Shrinking Database Segments OnlineDML operations and queries can be issued during the data movement phase of segment shrink.
Concurrent DML operation are blocked for a short time at the end of the shrink operation, when the space is deallocated


Тоесть, если сделать ALTER object SHRINK SPACE то concurrent DML будет ожидать, в то время как при ALTER object SHRINK SPACE COMPACT - нет (почитайте в чем разница).
...
Рейтинг: 0 / 0
shrink и row movement могут быть причиной блокировок? При ужатии используется Undo?
    #39254020
insonicum_dana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторDML operations and queries can be issued during the data movement phase of segment shrink.
Правильно ли я понимаю, что в этом случае будет обращение к UNDO?

Пример:
Код: plsql
1.
2.
3.
4.
5.
6.
сессия 1 начинает операцию ALTER table_1 SHRINK SPACE COMPACT (идёт продолжительное время)

сессия 2 последовательное читает table_1, используя индекс (Index range scan) 
В индексе сказано , что нужный rowid соответствует блоку А, а на самом деле в результате shrink
строка переехала в другой блок и у неё новый rowid, индекс ещё не успел перестроиться, и в нём старая
информация. Поэтому идёт обращение к UNDO, где rowid сохранён в старом значении.



так?
...
Рейтинг: 0 / 0
shrink и row movement могут быть причиной блокировок? При ужатии используется Undo?
    #39254074
ora601
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
insonicum_danaавторDML operations and queries can be issued during the data movement phase of segment shrink.
Правильно ли я понимаю, что в этом случае будет обращение к UNDO?

Пример:
Код: plsql
1.
2.
3.
4.
5.
6.
сессия 1 начинает операцию ALTER table_1 SHRINK SPACE COMPACT (идёт продолжительное время)

сессия 2 последовательное читает table_1, используя индекс (Index range scan) 
В индексе сказано , что нужный rowid соответствует блоку А, а на самом деле в результате shrink
строка переехала в другой блок и у неё новый rowid, индекс ещё не успел перестроиться, и в нём старая
информация. Поэтому идёт обращение к UNDO, где rowid сохранён в старом значении.



так?

Должно использоваться, если не в буферном кеше. Но с другой стороны, вряд ли таблица зачитывается на все 250 ГБ (?)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / shrink и row movement могут быть причиной блокировок? При ужатии используется Undo?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]