Intereting Posts
Подключение к серверу Microsoft SQL с использованием Python запрос на формирование подстроки MySQL: какой самый эффективный способ выбрать несколько случайных строк Укажите количество вхождений ключевого слова в столбце, разделенном запятой? Какую модель / модель следует использовать для обработки нескольких источников данных? mysql: разделить значение varchar и вставить части Как подтвердить инъекцию SQL Как создать триггер SQLite, который обновляет запись в зависимости от другой записи? Запрос SQL для получения распределения значений полей Как объединить несколько таблиц, которые немного отличаются в столбцах SQL возвращают последовательные записи Проблема Mysql WHERE с разделенным запятыми списком если некорректный подзапрос повторяется в нескольких местах запроса, может ли он быть кеширован, а результат повторно использован? Перемешать значения столбцов в строке Поиск отсутствующих отношений с использованием PL / SQL

Oracle экспортирует SQL в структуру базы данных

Я хочу создать sql-скрипт, который может воссоздать DB, который у меня уже есть. Я хочу воссоздать БД без данных внутри.

Так или иначе, когда sqlplus экспортирует БД пользователя?

Существует два основных подхода.

Первый – экспортировать файл дампа. Это может быть с помощью утилиты Datapump:

$ expdp apc/pw directory=data_dump_dir dumpfile=apc_20100707.dmp content=METADATA_ONLY 

Узнайте больше .

Datapump был представлен в Oracle10g. В более ранних версиях базы данных мы могли использовать утилиту EXP для выполнения той же самой задачи.

 $ exp apc/pw dumpfile=apc_20100707.dmp rows=N 

Чтобы импортировать файл, мы используем соответствующие impdp (или imp ).

Это подход ОС. Чтобы генерировать фактические сценарии SQL, мы можем использовать встроенный пакет DBMS_METADATA, представленный в Oracle 9i. Это немного больше работы, но предлагает гораздо более тонкий контроль над деталями экспортируемых объектов. Узнайте больше .

Из этого сообщения в блоге , похоже, есть пакет под названием dbms_metadata который может генерировать create table SQL. Пример:

  set pagesize 0 set long 90000 set feedback off set echo off spool filename.sql connect username/password; SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name) FROM USER_TABLES u; SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name) FROM USER_INDEXES u; spool off; 

Вы также можете использовать SQL Developer для создания SQL-скриптов, как описано здесь .