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

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

Kind regards,
Vadim.
...
Рейтинг: 0 / 0
Переместить таблицы в другой tablespace
    #37365708
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я помню, там уже было переименовывать таблицы.
Так что можно (предположим, выполняем через 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
Переместить таблицы в другой tablespace
    #37368463
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor Metelitsa,

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

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
5 сообщений из 5, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Переместить таблицы в другой tablespace
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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