UTL_FILEでファイル出力しようとしたら失敗したので。
UTL_FILEが使えない
[row:xx,col:xx] ORA-06550: 行xx、列xx: PLS-00201: 識別子UTL_FILEを宣言してください。 ORA-06550: 行xx、列xx: PL/SQL: Item ignored (以下略)
SYS.UTL_FILEに対するEXECUTE権限がない。試験環境というか実験環境なので、手を抜いてPUBLICにGRANT。
sqlplus SYS AS SYSDBA GRANT EXECUTE ON SYS.UTL_FILE TO PUBLIC;
無効なファイル操作
[row:1,col:1] ORA-29283: 無効なファイル操作です。 ORA-06512: "SYS.UTL_FILE", 行475
原因はいくつかあるけど、根本的にはDIRECTORY_PATHが無効って事かな。単純なタイプミスの場合とか、作り忘れ、あとPATHに日本語を使っている場合に出たり。これはデフォルトインストールのままだとUnicodeなのが原因、かも。
ディレクトリ名によっては、日本語を使っててもDIRECTORY_PATHは有効になってたりする。出力ファイルはファイル名が化ける。入力ファイルは当然読めません。
他にこのエラーになる原因に、Oracleをインストールしているのはサーバなのに、ローカルのフォルダでdirectoryを作ろうとしていると言うのがあります。UTL-FILEの出力先はさーばなのでご注意を。もっとも、ローカルにインストールしたなら関係ありませんが。
データが見つからない
[row:1,col:1] ORA-01403: データが見つかりません。 ORA-06512: 行xx
ディレクトリ・オブジェクト名が誤っている可能性が高い。小文字で書いてしまっているとか。