Dashboard > СУБД > Home > Oracle, перемещение партиционированной таблицы > Information > Сравнение Страницы
  СУБД Вход | Зарегистрироваться   Вариант для печати.  
  Oracle, перемещение партиционированной таблицы
Версия 1 shixaro
на Jan 10, 2012 14:45.


 
сравнено с
Ключ
Эти линии были удалены. Это слово было удалено.
Эти линии были добавлены. Это слово было добавлено.

Просмотреть историю страницы


there.are.num.changes

 Так как партиционированную таблицу нельзя перенести простым запросом:
 {noformat}
 alter table my_table move tablespace my_tablespace
 {noformat}
  
 , а нужно переносить отдельно каждую партицию таблицы, ибо они представляют собой отдельные сущности, то можно использовать достаточно простой SQL-блок для этой операции. Если партиций несколько, то можно для каждой написать запрос руками:
 {noformat}
 alter table my_table move partition my_table_p001 tablespace my_tablespace;
 {noformat}
  
 А если их десятки или сотни?
  
 {noformat}
 begin
  for rec in ( select table_owner, table_name, partition_name from dba_tab_partitions where table_name='my_table' )
  loop
  execute immediate 'alter table '||rec.table_owner||'.'||rec.table_name||' move partition '||rec.partition_name||' tablespace my_tablespace';
  end loop;
 end;
 {noformat}
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.5 Build:#805 Apr 26, 2007) - Запрос Bug/feature - Связаться с администраторами