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

前
次

3.74 FORMATSQL

適用対象

Extract

説明

FORMATSQLパラメータでは、デフォルトのOracle GoldenGate正規フォーマットではなく、外部SQLフォーマットでデータを出力します。FORMATSQLは、Oracle GoldenGate Replicat以外のユーティリティでSQLおよびEnscribe表に適用可能な、SQL文(INSERTUPDATEおよびDELETE)を生成します。

注意:

データがReplicatプロセスによって処理される場合は、FORMATSQLを使用しないでください。Replicatはデフォルトの正規フォーマットを受け付けます。FORMATASCIIまたはFORMATXMLを使用しているときは、FORMATSQLを使用しないでください。Oracle GoldenGate DDLサポートがアクティブである場合、FORMATASCIIを使用しないでください。

FORMATSQL文は、それ以降に定義されているすべての抽出ファイルまたはトレイルに影響します。

ExtractがマルチバイトのDB2サブシステムに接続している場合、FORMATSQLを使用しないでください。

制約事項

  • データがReplicatプロセスによって処理される場合は、FORMATSQLを使用しないでください。Replicatはデフォルトの正規フォーマットを受け付けます。

  • FORMATASCIIまたはFORMATXMLを使用しているときは、FORMATSQLを使用しないでください。

  • Oracle GoldenGate DDLサポートがアクティブである場合、FORMATSQLを使用しないでください。

  • 指定した形式でトレイル出力の生成に使用可能な表メタデータはないため、FORMATSQLをパススルー・モードでデータ・ポンプに使用しないでください。

デフォルト出力

表名や列名などのデータベース・オブジェクト名、およびCHARおよびVARCHARデータは、オペレーティング・システムのデフォルトのキャラクタ・セットで書込みが行われます。

オプションなしのFORMATSQLトランザクションは、カンマ区切りフォーマットで次のように出力されます。

  • 開始トランザクション・インジケータ、B

  • トランザクションのコミット時のタイムスタンプ

  • コミットが検出されたトランザクション・ログの順序番号

  • トランザクション・ログ内のコミット・レコードの相対バイト・アドレス(RBA)

  • SQL文

  • コミット・インジケータ、C

  • 改行インジケータ

トランザクション内のすべてのレコードは、開始インジケータとコミット・インジケータの間に含まれます。コミット・タイムスタンプとRBAの各組合せは一意です。

カスタム出力

出力フォーマットは、オプションの引数でカスタマイズできます。

デフォルト

特定のデフォルト値は、デフォルト出力」を参照してください。

構文

FORMATSQL [option] [, ...]

optionには、次のいずれかを指定できます。

NONAMES

挿入操作の列名を省略します(挿入にはすべての列名が含まれているため)。このオプションにより、ファイル・サイズを低減できます。

NOPKUPDATES

ターゲットの主キーの列に影響するUPDATE操作を、次にINSERTが続くDELETEに変換します。デフォルト(NOPKUPDATESなし)では、出力は標準のUPDATE操作です。

ORACLE

次の例のように、日付および時刻列をSQL*Plusが受け付けるフォーマットに変換し、Oracleデータベースと互換性を持つようにレコードをフォーマットします。

TO_DATE('2011-01-01','YYYY-MM-DD')

FORMATSQL ORACLE, NONAMES