GENLOADFILES
適用対象
Replicat
説明
GENLOADFILESパラメータでは、File-to-Database-utility初期ロード方式を使用するときに、次のユーティリティと互換性のある実行ファイルと制御ファイルを生成します。
-
OracleのSQL*Loaderユーティリティ
-
MicrosoftのBCP、DTSまたはSQL Server Integration Services (SSIS)ユーティリティ
-
IBMのLoad Utility (
LOADUTIL)
実行ファイルおよび制御ファイルは、Replicatパラメータ・ファイル内の各MAP文で生成されます。Replicatは、制御ファイルおよび実行ファイルを生成後に停止し、データを処理しません。
実行ファイルおよび制御ファイルは、ターゲットにロードするデータを含むデータ・ファイルとともに使用します。データ・ファイルを生成するには、Extractパラメータ・ファイル内でFORMATASCIIパラメータを使用します。Oracleおよびz/OS上のDB2のユーティリティを使用する場合は、FORMATASCIIのSQLLOADERオプションを使用し、Microsoftユーティリティを使用する場合はBCPオプションを使用します。
FORMATASCIIは、ロード・ユーティリティと互換性を持つ外部ASCIIフォーマットでOracle GoldenGateトレイルまたはファイルに表データを出力します。複数のファイルを指定すると、複数のデータ・ファイルを生成できます。
注意:
IBMのロード・ユーティリティの場合は、-Eと-d defs_fileを指定する必要があります。これらのパラメータは、ASCIIからEBCDICへの変換、およびソース定義ファイルの指定のために必要です。
デフォルトでは、GENLOADFILESは次のファイル名を生成します。
-
SQL*Loader実行ファイルは
source_table.run、制御ファイルはsource_table.ctlという名前が付けられます。source_tableは、MAP文で指定されたソース表の名前です。 -
BCP/DTS/SSIS実行ファイルは
target_table.bat、制御ファイルはtarget_table.fmtという名前が付けられます。target_tableはMAP文で指定されたターゲット表の名前です。 -
Load Utility実行ファイルは
target_table.run、制御ファイルはtarget_table.ctlという名前が付けられます。target_tableはMAP文で指定されたターゲット表の名前です。
制御ファイル
制御ファイルには、テンプレートに基づいて生成されるロード・パラメータが含まれます。Oracle GoldenGateでは、SQL*Loader、BCP/DTS/SSISおよびLoad Utilityのデフォルト・テンプレートが提供されます。必要に応じてテンプレートを変更してロード・ルールを変更することも、新しいテンプレートを作成することもできます。
次にOracle GoldenGateテンプレートの例を示します。テンプレートには、ターゲット表、FORMATASCIIによって生成されるデータ・ファイル、およびその他の実行パラメータ用のプレースホルダが含まれています。Oracle GoldenGateは、これらのプレースホルダをReplicatパラメータ・ファイルに指定されたパラメータに基づいた値に置き換えます。
例6-1 SQL*Loaderテンプレートsqlldr.tpl
# File Names controlfile ?target.ctl runfile ?target.run # # Run File Template sqlldr userid=?pw control=?target log=?target direct=true # # Control File Template unrecoverable load data infile ?source.dat truncate into table ?target
例6-2 BCP/DTS/SSISテンプレートbcpfmt.tpl
# Run File Template # Substitute your database name for db bcp db..?target in ?source.dat -U ?user -P ?pw -f ?target.fmt -e ?target.err # # Control File Template # The value below must specify the BCP or Microsoft SQL Server #version. "bcp -v" can be used to # determine the correct version number. 12.0
例6-3 Load Utilityテンプレートdb2cntl.tpl
# File Names controlfile ?target.ctl runfile ?target.run # # Run File Template odb2 load # # Control File Template LOAD REPLACE INTO TABLE ?target
実行ファイル
実行ファイルには、ロードを開始するための入力パラメータが含まれます。実行ファイルを実行するには、次のいずれかのコマンドを発行します。
-
UNIXコマンド・シェルからSQL*Loader実行ファイルを実行します。
% table.run -
DOSシェルからBCP実行ファイルを実行します。
> table.bat -
z/OS上のDB2表にデータをロードするためのJCLスクリプトを使用して、Load Utility実行ファイルを実行します。必要に応じて、ジョブ・スクリプトの他の環境関連パラメータを追加してください。
注意:
WILDCARDRESOLVEパラメータのDYNAMIC設定は、GENLOADFILESパラメータと互換性がありません。GENLOADFILESが指定されると、Oracle GoldenGateではデフォルトでIMMEDIATEが使用されます。
オペレーティング・システムとデータベースのキャラクタ・セットが異なる場合、または固定長の出力形式が使用されている場合、Oracle GoldenGateではマルチバイト文字がサポートされないことに注意してください。
Oracle GoldenGateのロード・ファイル出力の構成方法および初期ロードの実行方法の詳細は、『Oracle GoldenGateの管理』を参照してください。
デフォルト
なし
構文
GENLOADFILES [template_file] [CHARSET value]
-
template_file -
テンプレート・ファイルの完全修飾名。デフォルトのテンプレート・ファイルは、
sqlldr.tpl(SQL*Loader)、bcpfmt.tpl(BCP、DTSまたはSSIS)、およびdb2cntl.tpl(z/OS上のDB2)で、すべてOracle GoldenGateホーム・ディレクトリにあります。 -
CHARSETset -
(Oracle SQL*Loader) Oracle
NCHAR列のASCII文字のエンコーディングを指定します。有効な値はUTF8です。FORMATASCIIのCHARSETオプションを使用する場合に必要です。ソース表に
NCHARデータ、およびUTF-8に設定された可変長文字が含まれている場合、CHARSETによって、ロードは文字長セマンテックを含めることができます。現在、Oracle SQL*Loaderは、バイト長セマンテックを使用しており、文字長セマンテックとは互換性がありません。注意:
NCHAR列およびCHAR列の両方に8ビットASCII文字が含まれている場合、生成されるファイルには、オペレーティング・システムのネイティブの8ビットASCII文字コーディングとUTF-8コーディングが混在して含まれているため、ロードは失敗します。
例
GENLOADFILES sqlldr.tpl
親トピック: Oracle GoldenGateパラメータ