DEV Community

Vahid Yousefzadeh
Vahid Yousefzadeh

Posted on

DataPump : Disabling the Use of Symbolic Links When Creating a Directory

One of the changes introduced in Oracle 18c was the inability to use symbolic links when creating a directory for Data Pump. This issue can cause problems when running expdp/impdp commands.

Below, you can see the different behavior between versions 12c and 19c regarding this matter:

[oracle@ol7 ~]$ mkdir /remotedir

[oracle@ol7 ~]$ chown –R oracle.oinstall /remotedir

[oracle@ol7 ~]$ ln –s /remotedir /oracle/dumpdir

SQL> create or replace directory sym as ‘/oracle/dumpdir’;

Directory created.
Enter fullscreen mode Exit fullscreen mode

— Oracle 12c

[oracle@ol7 ~]$ expdp directory=sym dumpfile=mydump tables=usef.mytbl

Export: Release 12.2.0.1.0 – Production on Tue Jun 25 13:01:56 2019

Copyright (c) 1982, 2017, Oracle and/or its affiliates.  All rights reserved.

Starting “SYS”.”SYS_EXPORT_TABLE_01″:  sys/******** AS SYSDBA directory=sym dumpfile=mydump tables=usef.mytbl

Processing object type TABLE_EXPORT/TABLE/TABLE_DATA

Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS

Processing object type TABLE_EXPORT/TABLE/STATISTICS/MARKER

Processing object type TABLE_EXPORT/TABLE/TABLE

. . exported “USEF”.”MYTBL”                              22.60 KB      15 rows

Master table “SYS”.”SYS_EXPORT_TABLE_01″ successfully loaded/unloaded

******************************************************************************

Dump file set for SYS.SYS_EXPORT_TABLE_01 is:

  /12c/external_table/mydump.dmp

Job “SYS”.”SYS_EXPORT_TABLE_01″ successfully completed at Tue Jun 25 13:02:43 2019 elapsed 0 00:00:37
Enter fullscreen mode Exit fullscreen mode

— Oracle 19c

[oracle@ol7 ~]$ expdp directory=sym dumpfile=mydump19c tables=usef.mytbl

Export: Release 19.0.0.0.0 – Production on Tue Jun 25 16:25:31 2019

Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production

ORA-39002: invalid operation

ORA-39070: Unable to open the log file.

ORA-29283: invalid file operation: path traverses a symlink [29433]
Enter fullscreen mode Exit fullscreen mode

As you can see, in Oracle 19c it is not possible to create a dump file in the specified symbolic link path.
To resolve this issue, you can use the hidden parameters _disable_directory_link_check and _kolfuseslf:

SQL> ALTER SYSTEM SET “_disable_directory_link_check” = TRUE SCOPE=SPFILE;

System altered.

SQL> ALTER SYSTEM SET “_kolfuseslf” = TRUE SCOPE=SPFILE;

System altered.

SQL> startup force;

[oracle@ol7 ~]$ expdp directory=sym dumpfile=mydump19c tables=usef.mytbl

Export: Release 19.0.0.0.0 – Production on Tue Jun 25 16:28:10 2019

Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production

Starting “SYS”.”SYS_EXPORT_TABLE_01″:  sys/******** AS SYSDBA directory=sym dumpfile=mydump19c tables=usef.mytbl

Processing object type TABLE_EXPORT/TABLE/TABLE_DATA

Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS

Processing object type TABLE_EXPORT/TABLE/STATISTICS/MARKER

Processing object type TABLE_EXPORT/TABLE/TABLE

. . exported “USEF”.”MYTBL”                              20.64 KB       7 rows

Master table “SYS”.”SYS_EXPORT_TABLE_01″ successfully loaded/unloaded

******************************************************************************

Dump file set for SYS.SYS_EXPORT_TABLE_01 is:

  /oracle/external_table/mydump19c.dmp

Job “SYS”.”SYS_EXPORT_TABLE_01″ successfully completed at Tue Jun 25 16:28:44 2019 elapsed 0 00:00:27
Enter fullscreen mode Exit fullscreen mode

Top comments (0)