Oracle® Fusion Middleware Oracle GoldenGateリファレンスfor Windows and UNIX 12c (12.2.0.1) E70112-04 |
|
前 |
次 |
適用対象
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のLoad Utilityを使用する場合は、RMTHOST
パラメータのPARAMS
オプションに、-E
および-d
defs_file
Collectorパラメータを指定する必要があります。これらのパラメータは、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パラメータ・ファイルに指定されたパラメータに基づいた値に置き換えます。
例3-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
例3-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 version, not the Sybase Adaptive # Server or Microsoft SQL Server version. "bcp -v" can be used to # determine the correct version number. 12.0
例3-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の管理for Windows and UNIXを参照してください。
デフォルト
なし
構文
GENLOADFILES [template_file] [CHARSET value]
template_file
テンプレート・ファイルの完全修飾名。デフォルトのテンプレート・ファイルは、sqlldr.tpl
(SQL*Loader)、bcpfmt.tpl
(BCP、DTSまたはSSIS)、およびdb2cntl.tpl
(z/OS上のDB2)で、すべてOracle GoldenGateホーム・ディレクトリにあります。
CHARSET
set
(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