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

Откуда: Москва
Сообщений: 1909
В sql-скрипте, который делает несекционированные таблицы секционированными с помошью пакета DBMS_REDEFINITION, используется FINISH_REDEF_TABLE. Мне непонятно, что происходит в момент замены несекционированные таблицы секционированной - будет ли это блокировка, непрепятствующая чтению данных, или же это DDL-операция, которая приведёт к сбою чтения данных из таблицы. Документацию на пакет DBMS_REDEFINITION читал, но ответа на этот вопрос я там не нашёл.
23 июл 12, 13:45    [12902337]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы про DBMS_REDEFINITION.FINISH_REDEF_TABLE  [new]
Pastic
Member

Откуда: Москва
Сообщений: 1909
Oracle 11g
23 июл 12, 13:46    [12902341]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы про DBMS_REDEFINITION.FINISH_REDEF_TABLE  [new]
проходил мимо...
Member

Откуда: от верблюда
Сообщений: 1178
Pastic,

И в начале и в конце редефинишена требуется кратковременный эксклюзивный лок на таблицу, которая редифинитится. Поэтому просто отложите finish куда-нибудь на время минимальной активности, когда никто не будет держать долговременных локов на этой таблице.
23 июл 12, 13:49    [12902380]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы про DBMS_REDEFINITION.FINISH_REDEF_TABLE  [new]
Pastic
Member

Откуда: Москва
Сообщений: 1909
проходил мимо...
Pastic,

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


Разве эксклюзивная блокировка препятствует чтению данных из таблицы?
23 июл 12, 13:56    [12902441]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы про DBMS_REDEFINITION.FINISH_REDEF_TABLE  [new]
проходил мимо...
Member

Откуда: от верблюда
Сообщений: 1178
Pastic
Разве эксклюзивная блокировка препятствует чтению данных из таблицы?
Нет, конечно.
В контексте вашего предыдущего вопроса - DDL будет, но он не помешает чтению данных.
23 июл 12, 14:10    [12902548]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы про DBMS_REDEFINITION.FINISH_REDEF_TABLE  [new]
Pastic
Member

Откуда: Москва
Сообщений: 1909
проходил мимо...
Pastic
Разве эксклюзивная блокировка препятствует чтению данных из таблицы?
Нет, конечно.
В контексте вашего предыдущего вопроса - DDL будет, но он не помешает чтению данных.


Меня ещё интересует вопрос о том, как эта DDL-операция повлияет на те блокировки, которые наложены на таблицу и её строки во время выполнения этой DDL-операции.
23 июл 12, 14:12    [12902573]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы про DBMS_REDEFINITION.FINISH_REDEF_TABLE  [new]
проходил мимо...
Member

Откуда: от верблюда
Сообщений: 1178
Pastic
Меня ещё интересует вопрос о том, как эта DDL-операция повлияет на те блокировки, которые наложены на таблицу и её строки во время выполнения этой DDL-операции.
DDL операция станет возможной только при активации эксклюзивного лока на таблицу, а значит только после того, как все остальные блокировки будут сняты. Тупо станет в очередь и будет ждать, никого, при этом, больше не пуская получить даже самый разделяемый лок. Т.е. ждать будут все, пока свой эксклюзивный лок не получит finish_redef_table.
23 июл 12, 14:17    [12902612]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы про DBMS_REDEFINITION.FINISH_REDEF_TABLE  [new]
Pastic
Member

Откуда: Москва
Сообщений: 1909
проходил мимо..., большое спасибо.
23 июл 12, 14:49    [12902857]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить