web-dev-qa-db-ja.com

Windows上のOracle Database 19.3:WindowsのUNCパスからimpdpまたはexpdpする方法

Oracleデータベースリリース18.3では、Windowsのディレクトリとしてuncパスを使用し、impdpを使用してこのディレクトリからデータベースポンプをポンプすることができます。

例:

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

Oracleデータベースリリース19.3では、同じimpdp命令が次の出力を生成します。

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

18.3と19.3の例では、同じアカウントを使用してOracleデータベースサービスを実行しています。したがって、ネットワークまたは資格情報の問題は私の観察の説明ではないと思います。

これはOracle Databaseリリース18.3と19.3の間で変更された動作ですか。リリースノートでこの変更された動作の説明を見逃しましたか?または、19.3で導入された、ディレクトリでのUNC共有の使用を有効にする設定がありませんか?または、私が間違った何かをしましたか?

次のように、ドライブ文字として共有を使用しようとしました。

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 

ここで、impdpはログファイルについて文句を言います。この問題は、impdp logfile =パラメータを使用しない場合にも発生します。

3
KimCM

また、Oracleデータベースを実行しているユーザーによっても異なります(OracleServiceXXXという名前のWindowsサービスを参照してください-XXXはデータベースのSIDです)。 datapump操作はデータベースのコンテキストで実行されるため、データベースを実行するユーザーは、UNC共有に対するファイルシステムのアクセス許可も必要です。 Windowサービスが「ローカルシステム」として起動される場合がありますが、これはおそらく多くのリモート権限を持っていません。

以下が興味深いかもしれません:

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

簡単に言えば、私は同じ問題を抱えていましたが、以下のパラメーターを設定してデータベースを再起動した後、Data Pumpはネットワーク共有を使用できました。

ALTER SYSTEM SET "_disable_directory_link_check" = TRUE SCOPE=SPFILE;
0
Balazs Papp