スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【エラー】IMP-00020:LONG列は列バッファ・サイズ(n)に対して大きすぎます。

自分がこのエラーを見た状況
・Oracleバージョン:8.1.7.0.0
・OS:Windows2000Server
・データのインポート時に発生
・該当テーブルにLONG型の列は存在しない

このエラー、どうやらインポートよりもエクスポートの問題の様です。

EXP XXX/YYY@ZZZ DIRECT=Y FILE=oraora.dmp OWNER=ORE

といった感じでエクスポートしていたのですが、該当テーブルの1レコード当たりのサイズが大きすぎて、インポート時のSQLがデフォルトのバッファサイズ(4KB)に収まらなかったようです。
ここで自分の取った手段

EXP XXX/YYY@ZZZ DIRECT=Y BUFFER=200000000 FILE=oraora.dmp OWNER=ORE

これでもエラー。当然です。
BUFFERオプションは従来型パス(指定なし、もしくはDIRECT=Nを指定)を使用した場合のバッファサイズの変更オプションなのですから。
ダイレクトパスロードを使用した場合(DIRECT=Yを指定)のバッファサイズの変更はRECORDLENGTHオプションになります。

この為、今回の正解としては

EXP XXX/YYY@ZZZ DIRECT=Y RECORDLENGTH=200000000 FILE=oraora.dmp OWNER=ORE
EXP XXX/YYY@ZZZ DIRECT=N BUFFER=200000000 FILE=oraora.dmp OWNER=ORE
EXP XXX/YYY@ZZZ BUFFER=200000000 FILE=oraora.dmp OWNER=ORE

この三種類になります。三種類のうち上二種類は実際にExp/Imp確認しました。
動かしてみた限りでは、インポートコマンドには最小限のオプションだけでいいようです。

IMP XXX/YYY@ZZZ FILE=oraora.dmp FROMUSER=ORE TOUSER=OMAE

これでDIRECTオプションの有無に関わらずインポート出来ました。


※ORACLEによると、バッファサイズが大きすぎても同じような問題が発生する為、入力バッファサイズを段階的に上げて下さい、となっております。一応、ご注意を。
スポンサーサイト

Comment

 
管理人にのみ表示する
 

Track Back

TB URL

HOME

プロフィール

ラキア

  • Author:ラキア
  • ビリヤードB級、JPA SL5
    ホームは新宿BAGUSと荻窪サンビリ

    プレイ :McDarmott+OBPro+
    ブレイク:PowerBreak+DIPro(R)
    ジャンプ:TENGU

最近の記事

カテゴリー

月別アーカイブ

最近のコメント

最近のトラックバック

ブログ内検索

RSSフィード

リンク

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。