2015-11-23 2 views
0

Если у меня есть 1 таблица в базе данных, и я хочу ее экспортировать, а затем импортировать ее в новую таблицу в другой базе данных?Как экспортировать таблицу из одной базы данных в другую базу данных в Oracle (sql plus)

Должен ли я настроить таблицу с теми же полями в базе данных два, или есть способ создать пустую таблицу, чтобы весь импорт работал?

+0

вы можете сделать это, если используете оракул 11g или 12c .. здесь был дан ответ http://stackoverflow.com/questions/1902102/oracle-import-data-into-a-table-with-a-different- name – are

+0

Спасибо, я на 12.10.10, поэтому он должен работать, если я попробую. Могу ли я импортировать резервную копию для создания новой таблицы, если уже нет таблицы. –

+0

см. Здесь параметр 'TABLE_EXISTS_ACTION': http://www.dba-oracle.com/t_table_exists_action_impdp.htm – are

ответ

0

Если у вас есть DBLink установлены, быстрый способ скопировать таблицу без промежуточных файлов будет выполнять это из целевой базы данных (тот, где вы хотите, чтобы новая таблица будет скопирована):

create table my_new_table as 
select * 
from [email protected]_original_database 

Это предполагает, конечно, dblink, а также что имеется достаточное пространство для повтора, позволяющее копировать много данных одним махом.

Если нет, вы можете также построить таблицу таким образом, а затем выполнить кучу insert into транзакций для перемещения данных в кусках.

Если вы хотите только структуру (ваш вопрос вроде подразумевал это, но я не был уверен), вы всегда можете добавить where 1 = 3, чтобы скопировать только структуру.

Это не будет импортировать ограничения или индексы, но я не уверен, что это важно для того, что вы ищете.

Смежные вопросы