👻
【Oracle】ORAエラーだけ見れば十分だと思っていたら、実はSP2エラーもある...(体験談)
Oracleを触っていたある日のこと
ポチポチ...
SQL> spool test.log
...(省略)...
SQL> spool off
ポチポチ...
SQL> grep "^ORA-" test.log
ある日のこと...私が作業している様子を見ていた先輩社員がこう言った。
「ORAエラーだけ見てるの?それだけだと足りないよ。SP2とかも見なきゃ。」
えっ...と思った。ORAエラーの有無を確認すれば十分だと思っていたからだ。
話を聞いたところ、先輩社員は過去にこのエラー↓に出会ったらしい。
SP2-0027: 入力が長すぎます(> 2499文字)。この行は無視されました。
このエラーは、SQL*Plusで入力したコマンドの一行が2499byteを超えた場合に発生する。
SP2エラーはSQL*Plus関連のエラーであり、厄介なのは、grep "^ORA-" <ファイル名>
のような確認方法では引っかからないことである。
実際にこのエラーが発生した現場では、「ORAエラーは出力されてないのに、なぜ実行がうまくいかないんだ...」という状況になったとのこと。
この話から学んだのは、ORAエラーが発生していなくても、Oracle Database(SQL*Plus)に問題が発生している可能性があるということだ。
ORAエラーさえ確認できれば大丈夫だと思っていた自分にとって、頭の中の引き出しが増えた経験になった。
おまけ
手っ取り早いSP2エラーはこれかな
SQL> set
SP2-0545: SETコマンドには引数が必要です。
Discussion