Oracle8iからOracle10gへの引っ越し
- 2007.01.09
- Oracle
Oracle8iからOracle10g XEへの引っ越しメモ。
■データのエクスポートの前準備
キャラクタセットを確認しておく。EUCでエクスポートされることが分かる。
$ echo $NLS_LANG Japanese_Japan.JA16EUC
キャラクタセットをSJISでエクスポートしたいときはNLS_LANGを指定しておく。
$ export NLS_LANG=Japanese_Japan.JA16SJIS
■データをエクスポートする
全テーブルをエクスポートする場合。
$ exp ユーザ名/パスワード file=oracle8.dmp log=exp.log
一つのテーブルEMPをエクスポートする場合。
$ exp ユーザ名/パスワード tables=EMP file=ora.dmp log=ora.log compress=y
詳細は、expのヘルプを確認する。
$ exp help=y
NLS_LANGに合わせて、ターミナルの文字セットエンコーディングを合わせておくと文字化けせずに出力メッセージが読める。
■データのインポート
書き込まれる文字コードを確認しておく。
$ echo $NLS_LANG JAPANESE_JAPAN.AL32UTF8
テーブルをインポートする。
$ imp userid=ユーザ名 ignore=y file=oracle8.dmp fromuser=旧ユーザ名 touser=ユーザ名
ユーザ名: 10gで使っているユーザ名
旧ユーザ名: 8iでエクスポートしたユーザ名
8iのときのユーザ名と10gのユーザ名をきちんと指定しないとインポートできないので注意。
インポート時のキャラクタセットについてのメッセージ。
エクスポート・ファイルはEXPORT:V08.01.05によって従来型パス経由で作成されました AL32UTF8キャラクタ・セットおよびAL16UTF16 NCHARキャラクタ・セットでインポートを 実行します
きちんと、EUCからUTF8へ変換されてインポートされたか、sqlplusで確認しておく。
-
前の記事
グローバル変数の弊害 2007.01.08
-
次の記事
Oracle XEのインストール後の初期状態 2007.01.10