экспорт базы данных Oracle (создание файла данных .sql) - PullRequest
2 голосов
/ 05 января 2010

У меня есть база данных Oracle на одном ПК. Я должен перенести его на другой компьютер. Оба используют отдельные установки оракула. Теперь, как я могу экспортировать его с одного компьютера, а затем импортировать на другой компьютер?

Каковы команды для экспорта и последующего импорта?

Я хочу, чтобы структура, а также данные были экспортированы и затем импортированы. Я использую Oracle DB.

Ответы [ 2 ]

6 голосов
/ 05 января 2010

Вы можете экспортировать данные из исходной базы данных и импортировать их в новую.

Хорошую ссылку, демонстрирующую использование этих команд, можно найти здесь

Это сводится к следующему для экспорта полной базы данных:

%> exp USERID=<username>/<password> FULL=Y FILE=dbExport.dmp
%> imp USERID=<username>/<password> FILE=dbExport.dmp FULL=Y

Существует множество опций для обеих команд, чтобы адаптировать их к вашим потребностям. Например, вы можете ограничить команду импорта только импортом определенных таблиц с помощью параметра TABLES, или вы можете перемещать объект базы данных между пользователями с параметрами TOUSER, FROMUSER. Существуют также параметры для экспорта или импорта ограничений, индексов и т. Д. Вы можете найти все допустимые параметры для обеих команд, выполнив одну из следующих команд:

%> exp help=Y
%> imp help=Y
3 голосов
/ 05 января 2010

Вы не говорите, какую версию базы данных вы используете. Это важная информация, потому что новые функции добавляются в Oracle с каждым выпуском. Например, в 10g Oracle представила новую утилиту, DataPump, которая заменяет старые IMP и EXP (эти утилиты все еще включены в установку, они просто устарели).

Одна из замечательных особенностей DataPump заключается в том, что мы можем выполнять как из базы данных, так и из командной строки ОС. Недавно я опубликовал пример использования DataPump из PL / SQL в этой SO-теме . Oracle предоставляет полную документацию .

1010 * редактировать *

Ни устаревший IMP / EXP, ни DataPump не генерируют файл SQL (*). Если это действительно то, что вам нужно (в отличие от простого переноса схемы и данных как-то ), то все становится немного сложнее. У Oracle есть пакет DBMS_METADATA , который мы можем использовать для создания сценариев DDL, но он не будет работать с данными. Чтобы генерировать реальные операторы INSERT, лучше всего использовать IDE; Quad TOAD сделает это так же, как и Oracle (бесплатный) SQL Developer tool . Обе IDE также будут генерировать для нас сценарии DDL.

(*) Импорт Datapump может извлекать операторы DDL из предыдущего файла экспорта Datapump, используя параметр SQLFILE=. Но это только структура, а не данные.

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