8

今年の残りの期間は別のチームからダンプ ファイルが渡されました。独自のデータベースにダンプをインポートしようとすると、次のエラーが発生します。

IMP-00038: 環境キャラクタ・セットのハンドルに変換できませんでした

調査の結果、ソース マシンとローカル マシンの NLS_LANG 設定が一致していないことが推測されます。現在、ソース マシンの NLS_LANG の値を確認する方法はありません。

では、ダンプ ファイルが手元にあるだけで、エクスポートに使用された NLS_LANG 値を特定する方法はありますか? 見た目から、インポート クライアント (imp) を実行する前に NLS_LANG 環境変数をオーバーライドできるはずです。

もう 1 つのことは、ダンプが 11g インスタンスから行われ、imp バージョンが 10 であることです。imp には前方互換性がないことを読みました。これは、(NLS_LANG の不一致ではなく) ここでの問題でしょうか?

4

5 に答える 5

11

Ates、impdpを試してみてください-時々それが役立つことがあります:-)

于 2010-11-26T16:59:29.197 に答える
6

UNIX での最も簡単な方法は次のとおりです。

#>imp username/password file=test.dmp show=y

Import: Release 10.2.0.3.0 - Production on Fri Nov 26 08:38:47 2010

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options

Export file created by EXPORT:V10.02.01 via conventional path
import done in US7ASCII character set and AL16UTF16 NCHAR character set
import server uses WE8ISO8859P1 character set (possible charset conversion)

バージョン exp/imp が問題です。通常、V10 エクスポート プログラムを使用して、V11 データベースに接続します。dev10 の oracle_home の tnsnames.ora に dev11 のエイリアスがあることを確認してください。

hostname{oracle}# . oraenv
ORACLE_SID = [oracle] ? dev10
hostname{oracle}#
hostname{oracle}#>exp username/password@dev11 full=y dumpfile=dump.exp
于 2010-11-26T07:34:20.473 に答える
3

ファイルはバイナリ文字化けですが、人間が読めるテキストの抜粋がいくつかあります。そこに次の文字列が表示されました。これが私の質問に答えていると思います。

<CHARSET>AL32UTF8</CHARSET><NCHARSET>AL16UTF16</NCHARSET>
...
NLS_LANGUAGE='アメリカ' NLS_TERRITORY='アメリカ'
于 2010-11-25T18:40:59.193 に答える
1

expdp多分それはグーグルを検索したときに私が見たものである....try ....を使用してエクスポートされimpdp ました、そして本当にそれはこの同じ問題のために私のために働きました。

于 2013-03-17T09:40:54.360 に答える
1

もう 1 つのことは、ダンプが 11g インスタンスから行われ、imp バージョンが 10 であることです。imp には前方互換性がないことを読みました。これは、(NLS_LANG の不一致ではなく) ここでの問題でしょうか?

A: その通りです。ターゲット Oracle データベースの Oracle クライアントが古いため、特定の Oracle クライアントで作成されたダンプ ファイルをインポートすることはできません。

お勧めしませんが、同じ Oracle クライアント バージョンを使用して古いターゲット oracle データベース (つまり 10g)にインポートしているため、新しいソース Oracle データベース (つまり 10g+) を古いOracle クライアント (つまり 10g) でエクスポートできます。

前提:ソース データベースの Oracle クライアントのバージョンは、ターゲットの Oracle データベースのバージョンと同じかそれ以上です。ツールDatapump (11g) とimp (-10g) インポート ユーティリティを混在させると機能しないことに注意してください。

重要なリンク異なるリリースとバージョンのエクスポートを使用する

于 2011-03-09T17:46:46.587 に答える