عدم استفاده از symbolic linkها در زمان ساخت directory(اوراکل 18c)

یکی از تغییراتی که در اوراکل 18c ایجاد شد، عدم امکان استفاده از symbolic linkها در زمان ساخت دایرکتوری برای دیتاپامپ می باشد. این مسئله می تواند در زمان اجرای دستور expdp/impdp مشکلاتی را ایجاد کند.

در قسمت زیر، رفتار متفاوت نسخه های 12c و 19c را در مورد این مسئله مشاهده می کنید.

[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.

 

–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

 

–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]

همانطور که می بینید، در اوراکل 19c، ایجاد فایل دامپ در آدرس symbolic link تعیین شده، امکان پذیر نیست برای رفع این مسئله، می توان از پارامترهای مخفی disable_directory_link_check_ و 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

ارتباط با نویسنده مطلب:vahidusefzadeh@ کانال تخصصی اوراکل و لینوکس: OracleDB@

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد.