ここから本文です

oracleのデータ移行について

har********さん

2012/10/2422:47:54

oracleのデータ移行について

DataPumpを使用し、oracleのデータを移行したいのですが疑問がありいろいろ調べているのですが、解決せずに困っています。

移行元
oracle10g
キャラクタセット:SJIS

移行先
oracle11g
キャラクタセット:UTF-8

です。

1、DataPumpを使用して、EXPORT&IMPORTする際
キャラクタセットが違うのですがNLS_LANGに設定すれば
自動的に文字コードを変換してIMPORTしてくれるのでしょうか?

2、SJISとUTF-8ではテーブルのCHARのサイズが変わってくるとおもいますが、
先にテーブルを作成してから、データのみをIMPORTすれば良いのでしょうか?

3、移行先に外字が登録されているのですが、
UTF-8にマッピングされる外字は自動的に変換してくれるのでしょうか?
マッピングしない外字が登録されていた場合、マッピングする方法はあるのでしょうか?

移行作業を初めて行う上にマニュアルがありません。
よろしくお願いします。

また注意点等についてもありましたら
ご助言をお願いします。

閲覧数:
10,980
回答数:
2
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

jho********さん

2012/10/2517:20:14

9iから11gへの移行の際に、EXPとIMPを使った移行を試したことがあります。

文字コードはSJISからUTF-8でしたが、自動で判別してインポートしてくれました。NLS_LANGは関係なかったように記憶しています。

カラムのサイズは、文字数設定に変え、予めテーブルを作成したあとインポートしました。(サイズ変更前のテストでは、エラーがちゃんと出ていました。)

外字に関しては解りません。

DataPumpではないので、変わっているかもしれませんが、参考にしてください。
他の方の回答にあるマニュアルをしっかり見ることをお薦めします。

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜1件/1件中

sun********さん

2012/10/2500:40:06

1.
DataPumpは確か、データベースのキャラクターセットを利用して動作する、だった気がします。
DataPumpではNLS_LANGはログのキャラクターセットにしか影響しなかったような。
なので、キャラクターセットを自動変換してくれるのではないかと思います。

2.
SJISは1文字2バイトですが、UTF-8は3~4バイトですので、十分に大きな列サイズのテーブルを先に作っておいた方が無難かも。

3.
外字は微妙です。
コード変換の対象外かもしれないので、十分に検証して確認した方がよいかと思います。

マニュアルは以下から参照できます。
Webで直接見るか、ダウンロードしてローカルで見ることもできますよ。
http://docs.oracle.com/cd/E16338_01/nav/portal_3.htm

DataPumpなら、
http://docs.oracle.com/cd/E16338_01/server.112/b56303/toc.htm
です。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる