С документация :
ORA-39088: имя файла не может содержать спецификацию пути Причина: Имя файла дампа, файла журнала или файла sql содержит спецификацию пути. Действие: Используйте имя объекта каталога, чтобы указать, где должен храниться файл.
Это говорит о том, что параметр, который вы указали как DUMPFILE=db.dmp
, действительно похож наDUMPFILE=C:\some\dir\path\db.dmp
, что запрещено.Вы должны использовать каталог, который распознается базой данных, и указать его с помощью параметра DIRECTORY
.
Как отмечает @ruffin из этой ссылки на параметр каталога, вы можете поместитьфайл дампа в каталоге DATA_PUMP_DIR
по умолчанию, который можно найти в представлении dba_directories
или, если у вас есть разрешение на использование этого объекта, в представлении all_directories
.Пользователь, которого вы импортируете как, должен получить права на чтение и запись, чтобы вы могли его использовать.Вам также необходимо иметь возможность переместить файл дампа в каталог операционной системы, поэтому там тоже могут возникнуть проблемы с разрешениями.
Если у вас нет подходящего объекта каталога, для которого у вас есть права доступа к базе данных иДоступ к операционной системе, вам нужно создать его и предоставить подходящие привилегии.Это должен сделать кто-то с соответствующими привилегиями, обычно как SYS
:
create directory my_data_pump_dir as 'C:\some\dir\path';
grant read, write on directory my_data_pump_dir to <username>;
Затем импорт изменяется так:
... DUMPFILE=db.dmp DIRECTORY=my_data_pump_dir
Обратите внимание, что каталог операционной системыдолжен быть доступен для учетной записи пользователя Oracle (кто бы ни выполнял процессы базы данных, pmon
и т. д.) на сервере базы данных.Вы не можете импортировать в удаленную базу данных, используя локальный файл, если локальный каталог каким-либо образом не смонтирован на удаленном сервере.Старая команда imp
была клиентским приложением, которое часто выполнялось на сервере, но не обязательно;impdp
- приложение на стороне сервера.