Назад | Перейти на главную страницу

создать файл определения из Oracle

Я унаследовал базу данных оракула и не имею опыта работы с Oracle. Мне было поручено создать «клон» базы данных на новом сервере. Я ищу вокруг, но не нахожу того, что ищу, и, возможно, моя терминология неверна.

Есть ли способ в базе данных оракула запустить команду и получить большой файл SQL, который можно запустить на новом сервере, чтобы создать все таблицы, функции, хранимые процедуры и т. Д. Я не Мне нужны какие-либо фактические данные, только структура базы данных. Это будет использоваться для нового клиента, и мы определенно не хотим делиться данными предыдущих клиентов.

Эта БД использовалась в течение нескольких лет и содержит сотни таблиц, хранимых процедур и т.д., без какого-либо централизованного управления, поэтому мне нужно вытащить ее из работающей БД. (и заархивируйте его в системе контроля версий!)

Если ваша версия oracle не 9 или ниже, вы действительно хотите избежать exp или imp, они менее гибкие и менее мощные, чем замены expdp и impdp.

Я предполагаю, что вы хотите экспортировать только схему. Если вы хотите экспортировать весь экземпляр базы данных (не рекомендуется), то есть со всеми файлами sys / system / etc. схемы и табличные пространства, используйте full = y и без описания схемы.

Чтобы выполнить то, что вы просите с помощью expdp, сделайте что-нибудь вроде:

expdp dumpfile=example.dmp log=example.log content=metadata_only schemas=example_schema

Чтобы получить текстовый файл с операторами sql, вы должны сделать следующее, используя созданный выше файл дампа:

impdp dumpfile=example.dmp sqlfile=example.sql

Требуемая команда будет выглядеть примерно так:

exp username/password file=emp.dmp log=emp.log rows=no

Вот FAQ по exp / imp: http://www.orafaq.com/wiki/Import_Export_FAQ так же как http://www.orafaq.com/wiki/Export и http://www.orafaq.com/wiki/Import

Обратите внимание, что exp генерирует двоичный файл, а не текстовый файл с операторами SQL, например, mysqldump.

Кроме того, есть http://dba.stackexchange.com сайт, который может помочь вам лучше.