Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Переместить таблицы в другой tablespace / 5 сообщений из 5, страница 1 из 1
25.07.2011, 11:32
    #37365399
Andron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переместить таблицы в другой tablespace
Какие способы существуют в db2 8 версии для переноса таблиц между tablespace кроме выгрузки, пересоздания и загрузки в базу?
...
Рейтинг: 0 / 0
25.07.2011, 12:46
    #37365615
GVF112GVF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переместить таблицы в другой tablespace
Andron,

DB2 Redirected Restore Scripts -
http://www.ibm.com/developerworks/data/library/techarticle/0212mulligan/0212mulligan.html

Kind regards,
Vadim.
...
Рейтинг: 0 / 0
25.07.2011, 13:48
    #37365708
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переместить таблицы в другой tablespace
Насколько я помню, там уже было переименовывать таблицы.
Так что можно (предположим, выполняем через command line processor) как-то так:
* выключить автокоммит
* включить опцию - прекращать выполнение и делать rollback, Если что-то пошло не так
* создать таблицу с подобной структурой в целевом tablespace,
* сделать commit (полезно, если вставка будет долгой - разблокируем системный каталог)
* залочить исходную в read only
* alter table ... activate not logged initially
* insert into новая select * from старая
* индексы
* статистика
* грохнуть исходную таблицу
* переименовать новую
* пересоздать все затронутые view, SP, триггеры, foreign keys...
* commit
Несильно отличается от выгрузки/загрузки, но, пожалуй, несколько побыстрее будет (особенно, по сравнению с IMPORT), и время недоступности для чтения передвигаемой таблицы минимизируется.

Да, кроме alter table ... activate not logged initially можно посмотреть load from cursor, если он в 8-ке есть.
...
Рейтинг: 0 / 0
27.07.2011, 10:27
    #37368463
Andron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переместить таблицы в другой tablespace
Victor Metelitsa,

спасибо, видимо так и перенесу таблицы.
...
Рейтинг: 0 / 0
31.08.2011, 08:52
    #37418538
A.Panskikh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переместить таблицы в другой tablespace
Добавлю к Виктору

Victor MetelitsaНасколько я помню, там уже было переименовывать таблицы.
Так что можно (предположим, выполняем через command line processor) как-то так:
* выключить автокоммит
* включить опцию - прекращать выполнение и делать rollback, Если что-то пошло не так
* создать таблицу с подобной структурой в целевом tablespace,


create table SCHEMA.TABLE_NEW...

Victor Metelitsa* сделать commit (полезно, если вставка будет долгой - разблокируем системный каталог)
* залочить исходную в read only


-- можно и в экслюзив
lock table SCHEMA.TABLE in exclusive mode;


-- * alter table ... activate not logged initially
-- * insert into новая select * from старая
--

declare LCURS cursor for select * from SCHEMA.TABLE;

load from LCURS of cursor
REPLACE into SCHEMA.TABLE_NEW
NONRECOVERABLE
INDEXING MODE REBUILD
CHECK PENDING CASCADE IMMEDIATE
;

SET INTEGRITY FOR SCHEMA.TABLE_NEW IMMEDIATE CHECKED;

-- Если есть поля типа generated/identity добавить параметры для лоада

rename table SCHEMA.TABLE to TABLE_OLD;
rename table SCHEMA.TABLE_NEW to TABLE;

Victor Metelitsa* индексы
* статистика
* грохнуть исходную таблицу
* переименовать новую
* пересоздать все затронутые view, SP, триггеры, foreign keys...
* commit
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Переместить таблицы в другой tablespace / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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