Преобразование базы данных .dmp (созданной с помощью EXP) в уникальный файл .sql (с Oracle 12.2.0)

Мне нужно преобразовать файл базы данных .dmp в уникальный файл .sql. Я установил Oracle 12.2.0. Я использую Windows 10.

Как мне это сделать?

Большое спасибо


person makiwhtie    schedule 31.08.2017    source источник
comment
.dmp (заголовок) или .bmp (тело)? С помощью какого инструмента был создан файл?   -  person Codo    schedule 31.08.2017
comment
@codo - Может быть, это скриншот модели базы данных   -  person APC    schedule 31.08.2017
comment
@jorge Это .dmp   -  person makiwhtie    schedule 01.09.2017


Ответы (1)


Будь то дамп datapump или дамп, экспортированный обычным экспортом: оба инструмента создают файлы в проприетарном формате, и вы не можете преобразовать их в текст.

Почему вы хотите это сделать? Если вы хотите воссоздать схему со всеми данными в ней, просто импортируйте дамп с помощью impdp (datapump) или imp (обычный), и у вас есть схема.

Если вы хотите узнать определенную структуру объекта (например, представление), вы можете импортировать только этот объект.

просто запустите impdp help=Y (datapump) или imp help=Y (обычный), чтобы узнать, как это сделать.

Если вам действительно нужен читаемый файл вашей базы данных, взгляните на Oracle SQL * Developer, который поддерживает выгрузку таблиц в операторы вставки и т.п., а также экспорт операторов DDL определенных объектов в текстовый формат.

ваше здоровье

person Christian Erlinger    schedule 31.08.2017
comment
.dmp, который у меня есть, был создан с помощью exp, а не expdp, поэтому невозможно выполнить импорт impdp. У меня проблема в том, что у меня нет достаточных привилегий (ошибка ORA-1031) для импорта с помощью imp. Итак, моя идея состоит в том, чтобы получить уникальный файл SQL из данного .DMP (сделанного с помощью EXP) и попытаться выполнить импорт из SQL Developer. Данный .DMP - единственный, который я мог бы иметь (по рабочим причинам). Так что ваш ответ бесполезен для моего вопроса. - person makiwhtie; 01.09.2017
comment
И что заставляет вас думать, что ORA-1031 исчезнет, ​​когда вы попытаетесь выполнить свои операторы SQL при выдаче оператора DDL из другого инструмента? Потому что это именно то, что сделал бы и IMP - выдал бы оператор DDL, который он извлек из вашего файла дампа, - что не удастся, потому что, очевидно, ваша целевая схема пропускает привилегии. - person Christian Erlinger; 01.09.2017