プロが教えるわが家の防犯対策術!

下記のようにサーバがあります。
・Aサーバ(Solaris)
・Bサーバ(Windows)

下記のように文字コードが異なります。
・Aサーバ(JA16EUCTILDE)
・Bサーバ(JA16SJIS)
※Oracleのバージョンは同じです。

AサーバでエクスポートしたdmpファイルをBサーバにインポートしたいと考えています。
文字コードが異なるdmpファイルをインポートするにはどのようにしたらいいのでしょうか。また注意点などあるのでしょうか。

テストする環境が今ないため、試す事ができません。
些細な事でも何でも構いませんのでアドバイスいただけませんでしょうか。
宜しくお願いします。

A 回答 (3件)

ゴールとなるBサーバが、JA16SJISであるなら、何をしようが、


JA16SJISで表現できる文字コード以外文字化けする。

NLS_LANGをJA16SJISに設定したクライアントで、
(1)Aサーバからエクスポート
(2)Bサーバへインポート
するのと一緒。

今回の場合、それで問題が出るなら、DB作成時のキャラクタセットの選択ミスであり
エクスポート/インポートで何とかできる問題ではない。

最初にも書いていますが、必ず文字化けが起こるわけではないので、注意してください。
クライアントPCのOSやミドルウエアに何を使うかで、JA16SJISでも問題なく使えますので。
    • good
    • 1

Aサーバが、JA16EUCTILDEなのに、なぜBサーバは、JA16SJISTILDEでなくJA16SJISを選択したのですか?



これはインポートで悩む問題ではなく、DBを作成するときに考える問題です。
DBが、JA16SJISで設定されているなら、どんな問題でようとJA16SJISでしかインポートできないので。

>以下のSQLで実行して文字コードを参照しました。
>SELECT VALUE FROM V$NLS_PARAMETERS WHERE PARAMETER = 'NLS_CHARACTERSET';
これは、DB側のキャラクタセットです。
文字コードの変換は、EXPORT/IMPORTを起動するPCのNLS_LANGに左右されるので、注意してください。

一度、オラクルのマニュアルを読むと、文字コード絡みの説明が書いてあるので、
間違いがないと思いますよ。

この回答への補足

回答、ありがとうございます。

> Aサーバが、JA16EUCTILDEなのに、なぜBサーバは、JA16SJISTILDEでなくJA16SJISを選択したのですか?
Bサーバは既にOracle環境(JA16SJIS)があるのでこの環境を利用したいとの事でこのようになりました。

> 文字コードの変換は、EXPORT/IMPORTを起動するPCのNLS_LANGに左右されるので、注意してください。

ちょっと考えてみたんですがアドバイスいただけたら幸いです。

1. NLS_LANGが「JA16SJISTILDE」のクライアントPC1でAサーバからエクスポート
2. Cサーバにオラクルをインストール(JA16SJISTILDE)して1でダンプしたファイルをインポート
3. NLS_LANGが「JA16SJIS」のクライアントPC2でAサーバからエクスポート
4. Bサーバ(JA16SJIS)に3でダンプしたファイルをインポート

こうしたらどうでしょうか。
もう少し私にお付き合いください。
大変、申し訳ございませんが宜しくお願いします。

補足日時:2009/11/28 12:28
    • good
    • 0

ユーティリティを起動するオラクルクライアントPCのNLS設定が適切なら、


文字コード変換を自動で行います。
今回の場合、JA16SJISなクライアントで処理すれば、良いと思います。
(A-B間がネットワーク的に接続できる環境下なら、Bサーバ上のEXPで処理するのが手っ取り早いかと)

1つ気になるのですが、JA16EUCTILDE→JA16SJISへの移行だと、データ上のティルダが
文字化けする可能性があるのは了解済みなんですよね?
(利用環境によっては問題ないと思いますけど)

この回答への補足

回答ありがとうございます。

> ユーティリティを起動するオラクルクライアントPCのNLS設定が適切なら、
> 文字コード変換を自動で行います。
> 今回の場合、JA16SJISなクライアントで処理すれば、良いと思います。

以下のSQLで実行して文字コードを参照しました。
SELECT VALUE FROM V$NLS_PARAMETERS WHERE PARAMETER = 'NLS_CHARACTERSET';

> 1つ気になるのですが、JA16EUCTILDE→JA16SJISへの移行だと、データ上のティルダが
> 文字化けする可能性があるのは了解済みなんですよね?
> (利用環境によっては問題ないと思いますけど)
文字化け以前にこのような事ができるのかできないのかしか考えていませんでした。

せっかく説明してもらって申し訳ありませんがもう少し解りやすく教えていただけませんでしょう。
本当に申し訳ありませんが宜しくお願いします。

補足日時:2009/11/28 10:05
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A