Как перенести данные в Oracle - PullRequest
0 голосов
/ 24 мая 2018

У меня есть две таблицы, где первичный ключ в таблице A упоминается как внешний ключ в таблице B. Я хочу знать способ переноса этих двух таблиц из одной базы данных Oracle в другую.Пожалуйста, дайте мне знать процесс и любые предположения, если применимо.

Ответы [ 2 ]

0 голосов
/ 25 мая 2018

Создайте пустые таблицы в новой базе данных без индексов или ограничений.

Скопируйте данные по параллельному nologging.

http://www.bobbydurrettdba.com/2012/06/21/fast-way-to-copy-data-into-a-table/

Я бы сделал эторазделение за раз, если таблица секционирована.

Создайте индексы параллельно 8 nologging.

Измените индексы на те, которые находятся в источнике (возможно, нет логического параллелизма).

Создайте ограничение внешнего ключа, включите novalidate.

0 голосов
/ 25 мая 2018

Обычно expdp / impdp ( export & import соответственно) операции, выполняемые для передачи данных между базами данных.

Для вашего особого случая просточтобы перенести эти две таблицы, достаточно сделать связанные внешние ключи DEFERRABLE INITIALLY DEFERRED такими:

ALTER TABLE TableB ALTER CONSTRAINT fk_tabB_A_col1
  DEFERRABLE INITIALLY DEFERRED;

, если только вы не выполните коммит до конца миграции, проблем не возникнетпри условии, что данные непротиворечивы, конечно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...