Oracle8i環境でIMP-00020エラーが起きた

職場のOracle8i環境で、以下のIMP-00020エラーが発生していました。(3年近く動作させているバッチ処理なのに、いきなりインポートエラーが出てくるとはなぁ)

このエラーメッセージなんですが、初めて見かけたので、OTNのエラーメッセージ検索にて調べました。どうやらインポート時の入力バッファサイズが小さすぎるために起きてたようです。(それにしても、LONG型の列なんて存在しないのに、こんな見当違いなエラーメッセージを出さないで欲しいものです)

import/exportともにbufferサイズを調整するパラメータが存在するようなので、指定しました。impおよびexpコマンドのオプションに、「buffer=20971520」(20MB)と追加しています。デフォルトでは、バッファサイズが4KB(システム環境に依存)と小さい値になっています。変更後ももし同様のエラーが発生するようであれば、値を調節していきます。話によるとある程度大きい値を設定しても特には問題はないようです。

以下のサイトなど参考になります。

あと、参考までに、otn.oracle.co.jpのエラーメッセージ検索の処置では、以下のような記述がされています。

入力バッファ・サイズを一度に10,000 バイトずつ増やしてください(これは一例です)。
バッファ・サイズが大きすぎると、同じような問題が発生する可能性があるため、
この段階的な方法を行ってください。

上記の変更を行ったところ、現状では特に問題なく動いています。