В настоящее время я пытаюсь импортировать базу данных, используя DBMS_DATAPUMP
в PL / SQL, используя следующий сценарий.
DECLARE
h1 NUMBER;
BEGIN
h1 := DBMS_DATAPUMP.OPEN('IMPORT', 'FULL', NULL, DBMS_SCHEDULER.generate_job_name, 'LATEST');
DBMS_DATAPUMP.ADD_FILE(handle => h1, filename => 'EXAMPLE6.DMP', directory => 'DUMP');
DBMS_DATAPUMP.START_JOB(h1);
dbms_datapump.detach(h1);
END;
/
Каждый раз, когда я выполняю этот код, я получаю следующее сообщение об ошибке.
ERROR in line 1:
ORA-39001: invalid argument value
ORA-06512: in "SYS.DBMS_SYS_ERROR", line 79
ORA-06512: in "SYS.DBMS_DATAPUMP", line 4929
ORA-06512: in "SYS.DBMS_DATAPUMP", line 5180
ORA-06512: in line 5
Я уже погуглил об ошибке, но ответ в основном состоял из проверки того, был ли уже создан каталог и есть ли у пользователя доступ для чтения и записи в каталог.
Я также попробовал impdp
просто в качестве эксперимента, чтобы проверить, могу ли я выполнить импорт таким образом.
impdp pdb2 directory="DUMP" dumpfile="EXAMPLE6.DMP"
В зависимости от пользователя, которого я выполняю impdp
as, я получаю разные сообщения об ошибках.
Как пользователь со всеми предоставленными привилегиями:
ORA-39001: invalid argument value
ORA-39000: bad dump file specification
ORA-39155: error expanding dump file name "C:\Users\...\EXAMPLE6.DMP"
ORA-48128: opening of a symbolic link is disallowed
Как пользователь sysdba:
ORA-39002: invalid operation
ORA-39070: unable to open the log file
ORA-39087: directory name DUMP is invalid
Как я уже сказал, каталог действительно существует на моем диске, я создал каталог с именем DUMP
в Oracle и предоставил доступ для чтения и записи моему пользователю.
Любая помощь будет принята с благодарностью, и я был бы рад разъяснить, если я написал что-то непонятное!
Изменить: Вывод select directory_name, directory_path from dba_directories;
DIRECTORY_NAME
--------------------------------------------------------------------------------
DIRECTORY_PATH
--------------------------------------------------------------------------------
DUMP
C:\Users\Nemanja\Desktop\oraclePLS
Забыл упомянуть, что сервис Oracle имеет полный доступ к указанному каталогу Windows.