2011年01月28日

Oracleのインポート時のORA-12899で躓いた件

Oracle10gでデータ移行をしようと思い、エクスポート&インポートを
したら、ORA-12899のエラーが発生。。。

初めは、エンコーディングの違いのせいかなと思い、
エクスポート時にNLS_LANGを設定して、キャラクタセットを移行元と移行先
で同じにしても変わらず、、、

そこで、あれっと思いました。
VARCHAR2のデータサイズって、文字数だっけ?バイト数だっけ?と。
調べてみると、デフォルトはバイト数とのこと。
(パラメータは、NLS_LENGTH_SEMANTICS

移行元は文字数("CHAR")で、移行先は("BYTE")。。。
これは、あかんなぁ

移行先は、データベースを間借りしているので、根元で変更するわけにはいか
ないので、

セッション単位で変更して、テーブルを再作成することで、なんとかなりました。

SQL> ALTER SESSION SET NLS_LENGTH_SEMANTICS='CHAR';

セッションが変更されました。
〜〜〜
この後にCREATE TABLEを実行しました。

参考:http://www.oracle.co.jp/forum/thread.jspa?threadID=2001445
posted by 台北猫々 at 23:50| Comment(0) | TrackBack(0) | 技術メモ(Oracle)
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/43026514

この記事へのトラックバック