Oracle Database 19.3 on Windows: Howto impdp or expdp from a UNC path in Windows

datapumporacle

With oracle database release 18.3 it is possible to use a unc path as a directory in windows and pump a database pump from this directory with impdp.

Example:

C:\>sqlplus system/passwd@exampledb
C:\>create directory DUMPS as '\\storage\dir';
C:\>exit
C:\>impdp system/passwd@exampledb directory=DUMPS dumpfile=example.dmp logfile=example-imp.log
... just works as expected

With oracle database release 19.3, the same impdp instruction produces the following output:

c:\>impdp system/passwd@exampledb directory=DUMPS dumpfile=example.dmp logfile=example-imp.log

Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
ORA-39001: invalid argument value
ORA-39000: bad dump file specification
ORA-39155: error expanding dump file name "\\storage\dir\example.dmp"
ORA-48128: opening of a symbolic link is disallowed

I use the same account to run the oracle database service in the example for 18.3 and 19.3. Therefore, I assume that network or credential issues are not an explanation for my observation.

Is this a changed behaviour between Oracle Database Release 18.3 and 19.3, and did I miss the description of this changed behaviour in the release notes?
Or am I missing a setting introduced with 19.3 to enable the use of UNC shares in a DIRECTORY? Or something else I did wrong?

I tried to use the share as drive letter as follows:

C:\>net use p: \\storage\dir /persistent:yes /user:myuser 
dir p:
... list of files // network access works well 

C:\>sqlplus system/passwd@exampledb  
create directory DUMPS as 'P:\'; 
exit
C:\>impdp system/passwd@exampledb directory=DUMPS dumpfile=example.dmp logfile=example-imp.log 

... ORA-39002: invalid operation 
ORA-39070: Unable to open the log file. 
ORA-29283: invalid file operation 

Now impdp complains about the log file. The problem also appears without using the impdp logfile= parameter.

Best Answer

You may find the below interesting:

http://christian-gohmann.de/2019/05/19/symbolic-links-in-directory-objects-not-permitted-with-oracle-18c-19c/

Long story short, I had the same issue, then after setting the parameter below and restarting the database, Data Pump was able to use the network share.

ALTER SYSTEM SET "_disable_directory_link_check" = TRUE SCOPE=SPFILE;