Если у вас есть DBLink установлены, быстрый способ скопировать таблицу без промежуточных файлов будет выполнять это из целевой базы данных (тот, где вы хотите, чтобы новая таблица будет скопирована):
create table my_new_table as
select *
from [email protected]_original_database
Это предполагает, конечно, dblink, а также что имеется достаточное пространство для повтора, позволяющее копировать много данных одним махом.
Если нет, вы можете также построить таблицу таким образом, а затем выполнить кучу insert into
транзакций для перемещения данных в кусках.
Если вы хотите только структуру (ваш вопрос вроде подразумевал это, но я не был уверен), вы всегда можете добавить where 1 = 3
, чтобы скопировать только структуру.
Это не будет импортировать ограничения или индексы, но я не уверен, что это важно для того, что вы ищете.
вы можете сделать это, если используете оракул 11g или 12c .. здесь был дан ответ http://stackoverflow.com/questions/1902102/oracle-import-data-into-a-table-with-a-different- name – are
Спасибо, я на 12.10.10, поэтому он должен работать, если я попробую. Могу ли я импортировать резервную копию для создания новой таблицы, если уже нет таблицы. –
см. Здесь параметр 'TABLE_EXISTS_ACTION': http://www.dba-oracle.com/t_table_exists_action_impdp.htm – are