expdpで出力されるファイルのパーミッション

軍鶏/ 7月 7, 2020/ 未分類

Oracleのデータポンプ機能を使ってエクスポートする場合
エクスポートされたファイルの持ち主がOracleになってしまい
パーミッションの関係上、一般ユーザで読み取ることが出来なくなってしまう。

その解決策。

まず、吐き出し先のファイル名を決める。
エクスポートする本体のファイル(ダンプファイル)だけでも良いし
出力結果をチェックするためにログファイルも対象に含めても良い。

ファイル名が決まったら、サーバにログインして
吐き出し先として指定しているディレクトリオブジェクトに移動する。
(ディレクトリオブジェクトとして指定しているディレクトリに
読み書き権限のあるユーザで作業しなければならない。)

当該ディレクトリに移動したら、
touch <ファイル名>
で、サイズがゼロの名前だけで中身が空っぽのファイルを生成する。

そして、expdp のオプションとして
dumpfile=
で、生成したファイル名と指定する。
(ログファイルも好きなパーミッションで生成したければ
同様にlogfile= で指定する)

さらに、reuse_dumpfiles=y
というオプションも追加して実行する。

これで、任意のユーザ、任意のパーミッションで
エクスポートファイルを出力することが出来る。

Share this Post