3

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.

  • try mapping the share as a drive letter – kevinsky Jun 26 at 11:59
  • thank you for your comment. 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. – KimCM Jun 26 at 13:43
  • Did you execute grant read,write to <your user who is importing> on DUMPS; – kevinsky Jun 26 at 13:49
  • I use the system user in this example - system should not need a grand as far as I know. – KimCM Jun 26 at 14:07
  • correct. This error is typical for the database does not have OS permissions on the folder. Suggest you create a directory as a folder and grant read write to the service account the database is running under – kevinsky Jun 26 at 14:10
0

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;

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.