Использование impdp из файла дампа без активного экземпляра Oracle

#sql #oracle #impdp

Вопрос:

У меня есть файл дампа Oracle (созданный с помощью expdp), и я хочу экспортировать его в файл DDL. Я понял, что для этого мне нужно использовать инструмент impdp с файлом sqlfile в качестве параметра. Однако, похоже, для этого требуется запущенный экземпляр Orcale (хотя я не хочу импортировать его в какую-либо базу данных-просто преобразуйте в DDL).

Есть ли какой-нибудь способ обойти это?

Ответ №1:

Насколько я могу судить, перекачка данных не будет работать без работающей базы данных, потому что оба expdp и impdp ожидаются USERID в качестве первого параметра.

 M:gt;impdp help=yes  lt;snipgt;   Format: impdp KEYWORD=value or KEYWORD=(value1,value2,...,valueN)  Example: impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp  USERID must be the first parameter on the command line.  

Более того, если вы просто вызываете impdp без каких-либо параметров, username это первое, что вам будет предложено:

 M:gt;impdp  Import: Release 18.0.0.0.0 - Production on Tue Nov 23 11:56:07 2021 Version 18.5.0.0.0  Copyright (c) 1982, 2018, Oracle and/or its affiliates. All rights reserved.  Username:  

Что делать? Используйте любую доступную вам базу данных. Не импортируйте ничего, если вы этого не хотите.

Комментарии:

1. Спасибо. Проблема в том, что у меня нет ни одного доступного экземпляра — мне просто нужно преобразовать файл дампа в файл DDL для работы. Но, как вы упомянули, я предполагаю, что обойти это невозможно 🙁