Копирование нескольких таблиц из одной базы данных в другую

У меня есть 160 таблиц в одной базе данных. Требование - скопировать их в другую базу данных.

База данных: Oracle с использованием инструмента TOAD.

Пример:

База данных A: 160 таблиц

База данных B: хотите скопировать все 160 таблиц из базы данных A в B.

Я знаю, что могу написать ссылку на БД для одной таблицы, но хочу скопировать все 160 таблиц из другой базы данных. это возможно?

2 ответа

Я бы предложил стандартную функцию DATA PUMP. Вам нужно экспортировать все 160 таблиц из источника, используя EXPDP а затем импортировать их в базу данных назначения, используя IMPDP,

Смотрите документацию, чтобы узнать больше о DATA PUMP.

Я считаю, что большинство инструментов на основе графического интерфейса, таких как TOAD, SQL Developer и т.д. имеет функции экспорта и импорта.

Учитывая, что вам нужны только таблицы / данные, и вы не беспокоитесь об индексах и ограничениях, и учитывая, что вы можете использовать DBLINK, вы можете использовать простой скрипт для копирования всех таблиц с удаленного сервера на локальный сервер:

BEGIN
    FOR C IN (SELECT * FROM USER_TABLES@REMOTEDB) LOOP
        EXECUTE IMMEDIATE 'CREATE TABLE ' || C.TABLE_NAME || ' AS (SELECT * FROM ' || C.TABLE_NAME || '@REMOTEDB)';
    END LOOP;
END;
/

Если это не вариант, DATA PUMP действительно должен использоваться, как уже говорилось в @LalitKumarB.

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