1

私はオラクルの外部テーブルを持っています。外部テーブルを使用して入力 CSV ファイルを読み取るために作成された oracle ディレクトリがあります。外部テーブルの DISCARD、LOG、BAD ファイルは同じディレクトリに作成されます。

UNIX 上の対応するディレクトリに権限「1770」がある場合、外部テーブルはそのディレクトリから読み書きできません。そのディレクトリの権限が「1777」に変更されると、外部テーブルはそのディレクトリに読み書きできるようになります。

そのディレクトリのアクセス許可が 1770 の場合、何が問題なのかわかりません。この奇妙な動作に関するヒントを教えてください。

Oracle スキーマ ユーザーには、そのディレクトリに対する READ および WRITE 権限があることに注意してください。

4

1 に答える 1

3

オペレーティング システムのディレクトリを所有しているユーザーとグループは? Oracleデータベースを実行するオペレーティング・システム・ユーザーは? Oracle を実行しているオペレーティング システム ユーザーはどのグループですか?

あなたの説明から、Oracle を実行するオペレーティング システム ユーザーはオペレーティング システム ディレクトリを所有しておらず、ディレクトリを所有するグループの一部ではないと思われます。Unix では、ディレクトリに対する特権は、ユーザー (最初の 7)、グループ (2 番目の 7)、およびパブリック (3 桁目、この例では 7 または 0) に付与されます。public に関連付けられた権限を変更すると動作が変わる場合、それは、Oracle オペレーティング システムのユーザーが、このディレクトリで public に付与された権限のみを持っていることを意味します。

于 2013-02-22T16:26:53.353 に答える