主コンテンツへ
Oracle® Fusion Middleware Oracle GoldenGateリファレンスfor Windows and UNIX
12c (12.2.0.1)
E70112-04
目次へ移動
目次

前
次

3.77 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のユーティリティを使用する場合は、FORMATASCIISQLLOADERオプションを使用し、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_tableMAP文で指定されたターゲット表の名前です。

  • Load Utility実行ファイルはtarget_table.run、制御ファイルはtarget_table.ctlという名前が付けられます。target_tableMAP文で指定されたターゲット表の名前です。

制御ファイル

制御ファイルには、テンプレートに基づいて生成されるロード・パラメータが含まれます。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です。FORMATASCIICHARSETオプションを使用する場合に必要です。

ソース表にNCHARデータ、およびUTF-8に設定された可変長文字が含まれている場合、CHARSETによって、ロードは文字長セマンテックを含めることができます。現在、Oracle SQL*Loaderは、バイト長セマンテックを使用しており、文字長セマンテックとは互換性がありません。

注意:

NCHAR列およびCHAR列の両方に8ビットASCII文字が含まれている場合、生成されるファイルには、オペレーティング・システムのネイティブの8ビットASCII文字コーディングとUTF-8コーディングが混在して含まれているため、ロードは失敗します。

GENLOADFILES sqlldr.tpl