[Oracle] SQL*Plusなどの起動時にORA-02248エラーが発生する | Archive Redo Blog

Archive Redo Blog

DBエンジニアのあれこれ備忘録

SQL*Plusなどのユーティリティを使用する際、日付書式をあらかじめ設定しておくためにNLS_DATE_FORMAT環境変数を設定してからユーティリティを実行することがあります。


この時、以下のように記述して、

SET NLS_DATE_FORMAT='YYYY/MM/DD HH24:MI:SS'
NLS_DATE_FORMATを設定すると、
"ORA-02248: invalid option for ALTER SESSION"

というエラーが発生します。


これを引用符なしで以下のように記述すると、

SET NLS_DATE_FORMAT=YYYY/MM/DD HH24:MI:SS

エラーは発生しません。


NLS_LANGなども間違った値を設定していると

"ORA-12705: invalid or unknown NLS parameter value specified"

というエラーが発生しますが、こちらはまだメッセージがわかりやすいので何がおかしいのかはすぐに察しが付きます。


NLS_DATE_FORMATの場合は、一見、意味不明なエラーメッセージなので注意が必要です。


※これらのエラーは、SQL*Plusだけでなく、SQL*Loaderやインポート/エクスポート、Recovery Managerなどでも同様に発生します。