Инструмент для извлечения определенных данных из базы данных Oracle (с более чем 100 таблиц) в другую базу данных Oracle, которая имеет структуру, но не данные

Передо мной стоит следующая задача: у меня есть большая база данных Oracle Database # 1 со 100 таблицами, которые связаны отношениями "один ко многим" и "многие ко многим".

Мне нужно скопировать только определенные строки из основной базы данных Oracle №1 в базу данных Oracle №2, которая имеет ту же структуру данных (таблицы), но без данных. Есть ли инструмент, который помогает мне автоматизировать процесс загрузки с учетом ограничений, возникающих из отношений "один-многие" и "многие-многие".

1 ответ

"Копировать" все данные - относительно простая задача. Как? Использование Export/Import Data Pump (или даже оригинальных утилит exp/imp).

Хотя вы можете применить WHEREдля экспорта, я не уверен, что это возможно для 100 таблиц. Вы должны знать, как таблицы связаны друг с другом, чтобы не пропустить запись.

Итак, если вы собираетесь делать это таблица за таблицей, возможно, лучше написать (PL/) код SQL, который выполнит эту работу. Может быть, процедура? Используя INпараметр, вы сможете скопировать любой набор записей, который захотите. Конечно, вам придется поддерживать процедуру, если создаются новые таблицы или изменяются отношения.

Другие вопросы по тегам