Oracle DB: Transportable tablespace

Материал из sysadm
Перейти к навигации Перейти к поиску

Механизм Transportable tablespase (TTS) предназначен для переноса табличного пространства с одной базы на другую.

Общая логика переноса табличных пространств

  1. Определение списка переносимых ТП (переносимые ТП не должны присутствовать в целевой базе, либо должны быть предварительно удалены)
  2. Проверка зависимостей, объекты в переносимых ТП не должны иметь зависимостей с объектами в ТП не подлежащих переносу
  3. Копирование файлов переносимых ТП и экспорт/импорт метаданных всех объектов в перемещаемых ТП


-- проверка связей выходящих за рамки заданного набора TS
-- для выполнения требуются привилегии роли EXECUTE_CATALOG_ROLE
EXECUTE sys.dbms_tts.transport_set_check('TS1,TS2,TS3',true);

-- представление отображающее зависимости объектов, можно использовать как дополнительный способ проверки зависимостей
SELECT * FROM sys.transport_set_violations

-- еще один способ проверки зависимостей, это использование параметра TRANSPORT_FULL_CHECK при экспорте и импорте
-- если данный параметр используется при импорте, то дополнительно требуется указание параметра NETWORK_LINK и сетевое подключение к исходной базе
-- (TTS_FULL_CHECK=Y, тоже самое, нужно разораться это два разных параметра или верный только один вариант)

Генерация набора переносимых ТП

В набор переносимых ТП входит:

  • все файлы переносимых ТП
  • файл экспорта метаданных всех объектов переносимых ТП

Порядок действий

  • переключить переносимые ТП в режим READ ONLY (не обязательно, нужно для гарантии что в момент переноса не будут выполняться транзакции с этими ТП)
ALTER TABLESPACE TS1 READ ONLY;
ALTER TABLESPACE TS2 READ ONLY;
ALTER TABLESPACE TS3 READ ONLY;
  • выполнить экспорт метаданных с указанием набора транспортируемых ТП

Пример

expdp <userid> DIRECTORY=dpump_dir1 DUMPFILE=TTS.dmp TRANSPORT_TABLESPACES=TS1,TS2,TS3 INCLUDE=triggers,constraint,grant

# лучше не указывать userid, тогда expdp спросит имя пользователя и можно будет указать 'sys as sysdba'


Ссылки по теме