説明
SOURCECHARSET
パラメータでは、Replicatによるソース・キャラクタ・セットからターゲット・キャラクタ・セットへのデータの変換を制御します。デフォルトでは、Replicatはリリース11.2.1以上のキャラクタ・セットを変換しますが、次の場合には操作が必要になることがあります。
11.2.1より前のリリースのExtractによって書き込まれたデータの正確な変換を有効にする場合。11.2.1より前のリリースのExtractは、トレイルにソース・キャラクタ・セットに関する情報を書き込まないため、直接Replicatにその情報を提供する必要があります。11.2.1以上のリリースのExtractは、Replicatで使用するために、トレイルにソース・キャラクタ・セットに関する情報を書き込むため、SOURCECHARSET
の指定はすべて無視されます。
ターゲット・キャラクタ・セットに変換しない場合。SOURCECHARSET
をPASSTHRU
オプションとともに使用して、キャラクタ・セットの変換を回避します。PASSTHRU
は、変換によってデータがターゲットで不正確に伝えられる場合にデータ整合性を確保します。ユースケースの例として、ソース・アプリケーションがバイナリ・データを文字の列に書き込み、ターゲットではバイナリ形式を維持する必要がある場合があります。また、すべてのデータがASCIIであり、文字の列にASCII非互換文字がないことが確実である場合は、PASSTHRU
を使用して変換のオーバーヘッドを回避することもできます。
トレイル・ファイルに設定されているソース・データベース文字をオーバーライドする場合。SOURCECHARSET
をOVERRUDE
オプションとともに使用して、使用するキャラクタ・セットを指定します。使用例には、データベースをUNICODEに移行したり、ソース・データベースのキャラクタ・セットを無視して、特定のキャラクタ・セット・データベースをガベージ・イン/ガベージ・アウト型の非キャラクタ・セット対応データベースから移行することがあります。
SOURCECHARSET
のキャラクタ・セットを使用する際、Replicatは警告メッセージを表示します。
REPLACEBADCHARパラメータでは、無効な文字がソース・データにある、またはターゲットのキャラクタ・セットでソースの文字がサポートされないという検証エラーを処理します。このパラメータには、このようなエラーでは異常終了する、エラーの原因となったレコードをスキップする、文字の代替値を指定するためのオプションがあります。
構文
SOURCECHARSET {source_charset | PASSTHRU | OVERRIDE} [DB2ZOS]
source_charset
11.2.1より前のリリースのExtractによって書き込まれたデータのソース・キャラクタ・セットを指定します。Replicatは、文字型の列をターゲット・キャラクタ・セットに変換する際に、指定されたキャラクタ・セットを使用します。
source_charset
には、ソース・データベースを表す適切なキャラクタ・セット識別子を指定します。サポートされるキャラクタ・セットのリストは、Oracle GoldenGateの管理for Windows and UNIXを参照してください。
Oracleの場合、SOURCECHARSET
を指定していないのにターゲットにNLS_LANG
環境変数が設定されていると、ReplicatはNLS_LANG
値をソース・データベースのキャラクタ・セットとして使用します。SOURCECHARSET
とNLS_LANG
のどちらも指定されていない場合、Replicatは発生する可能性があるデータ破損を回避するため異常終了します。
PASSTHRU
Replicatに、キャラクタ・セットの変換をせずにデータを適用させます。次のように、キャラクタ・セットの相違は無視されます。
データベースがOracleの場合、データはトレイルに保管される方法で適用されます。
データベースがOracle以外の場合で、データベースでバインドがバイナリ・データとしてサポートされる場合、データはバイナリ・データとして適用されます。そうでないと、データはそのまま適用されます。
PASSTHRU
はBULKLOAD
パラメータ(ダイレクト・バルク・ロード)と互換性がありません。
PASSTHRU
を指定し、CHAR
/VARCHAR
/CLOB
とNCHAR
/NVARCHAR
/NCLOB
間のマッピングがMAP
文に存在する場合、Replicatは異常終了します。
Oracle GoldenGateの列マッピング・ファンクションが文字ベースの列に使用される場合、PASSTHRU
モードを指定すると、Replicatは警告メッセージを発行し、ファンクションの結果をターゲット列にマップする前に、ターゲット・データベースのキャラクタ・セットに変換します。
PASSTHRU
は、ソースとターゲットのキャラクタ・セットに互換性があることが確実である場合のみ使用してください。ご使用の環境でPASSTHRU
が適切かどうかが不明な場合、使用する前にOracleサポートに問い合せてください。
OVERRIDE
指定したキャラクタ・セットを使用し、トレイル・ファイルのソース・データベースのキャラクタ・セットをオーバーライドするようにReplicatを強制させます。このオプションでは、次の場合を除き、文字型の列のキャラクタ・セットをオーバーライドします。
キャラクタ・セットは、CHARSET
およびCOLCHARSET
パラメータによってオーバーライドされます。
NCHAR
、NVARCHAR
およびNCLOB
データ型の使用。
データベースは、列キャラクタ・セットを明示的にオーバーライドし、データベースのキャラクタ・セット以外を設定します。
DB2ZOS
z/OS上のDB2に有効です。
z/OSプラットフォームからのDB2データが含まれるトレイルのバージョンがOracle GoldenGate 9.0または9.5の場合は、必須です。このパラメータにより、Replicatはz/OS上のDB2からのデータを認識できるようになるため、ASCIIとEBCDICの文字形式が混在してもかまいません。