#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 для работы. Но, как вы упомянули, я предполагаю, что обойти это невозможно 🙁