(現象)
Solaris9で、SQLPLUSでUserID/Password@SIDで接続し、UTL_FILEパッケージを使用すると、ORA-29283が発生する。
ただし、環境変数 ORACLE_SIDを設定し、SQLPLUSでUserID/Password(BEQ接続)で接続すると、正常に実行できる。
(原因)
UTL_FILEパッケージで開こうとしているファイルの権限が原因だった。
UserID/Password@SIDで接続した場合は、リスナーを経由するので、リスナーを起動したユーザで、ファイルにアクセスしに行くが、BEQ接続で接続した場合は、リスナーを経由しないので、SQLPLUSを実行したユーザでファイルをアクセスしに行く。
リスナーを起動したユーザは、UTL_FILEパッケージで開こうとしているファイルの参照権限を与えられていなかった。
Solaris9で、SQLPLUSでUserID/Password@SIDで接続し、UTL_FILEパッケージを使用すると、ORA-29283が発生する。
ただし、環境変数 ORACLE_SIDを設定し、SQLPLUSでUserID/Password(BEQ接続)で接続すると、正常に実行できる。
(原因)
UTL_FILEパッケージで開こうとしているファイルの権限が原因だった。
UserID/Password@SIDで接続した場合は、リスナーを経由するので、リスナーを起動したユーザで、ファイルにアクセスしに行くが、BEQ接続で接続した場合は、リスナーを経由しないので、SQLPLUSを実行したユーザでファイルをアクセスしに行く。
リスナーを起動したユーザは、UTL_FILEパッケージで開こうとしているファイルの参照権限を与えられていなかった。