Если вы используете Data Pump, нет прямого способа сохранить файл дампа на вашем локальном компьютере.Именно так и был разработан Data Pump.
Однако есть один из возможных способов добиться того, чего вы хотите.Обходной путь состоит из двух шагов:
- Запустите
expdp
как обычно, что создаст файл дампа на сервере - Используйте инструмент
ocp
для передачи файла дампа с сервера базы данных вваш локальный компьютер (и обратно, если хотите).
Инструмент ocp
расшифровывается как «Oracle Copy» и написан именно для того, чтобы копировать файлы дампа туда и обратно из / всервер базы данных.Он доступен здесь: https://github.com/maxsatula/ocp/releases/download/v0.1/ocp-0.1.tar.gz Это исходный дистрибутив, поэтому после загрузки и распаковки запустите ./configure && make
(Надеюсь, у вас нет Windows на стороне клиента, потому что я никогда не пыталсяскомпилируйте его там)
Это простой инструмент командной строки с простым синтаксисом.Например, эта команда извлечет файл для вас:
ocp <connection_string> DATA_PUMP_DIR:remote_file_name.dmp local_file_name.dmp
Инструмент использует подключение к базе данных и минимальный набор привилегий базы данных.
Обновление:
Наконец-то я смог настроить исходный код и собрать ocp
инструмент для 32-битной Windows:
https://github.com/maxsatula/ocp/releases/download/v0.1/ocp-0.1-win32.zip
Скомпилировано / протестированос 32-разрядным Instant Client 11.2.0.4, доступным здесь: http://www.oracle.com/technetwork/topics/winsoft-085727.html
instantclient-basiclite-nt-11.2.0.4.0.zip (20 258 449 байт)
Я полагаю, что он будет работать сполная установка Oracle Client тоже (просто следите за битами, должно быть 32), но я не проверял сам.
К сожалению, сборка Windows ocp
не имеет необычного индикатора прогресса во время передачи файла.В этом фрагменте кода было слишком много специфических для * nix вещей, поэтому мне пришлось его обрезать.
Кроме того, поскольку он использует библиотеки popt и zlib, которые скомпилированы как часть проекта GnuWin и доступны только в 32-битной версии, ocp
для Windows также 32-битная.Надеюсь, отсутствие 64-битной версии не является критически важным для вас.
Обновление 2:
Предупреждение! Убедитесь, что вы всегдаиспользуйте DEDICATED соединение с сервером при загрузке файлов с сервера, иначе (для SHARED сервера) скачанная копия файла будет повреждена без сообщений об ошибках!