TRANLOGOPTIONS

適用対象

Extract

説明

TRANLOGOPTIONSパラメータでは、Extractと、トランザクション・ログまたはトランザクション・データを渡すAPI(データベースやキャプチャ・モードによって異なる)とのやり取り方法を制御します。TRANLOGOPTIONS文を同一のパラメータ・ファイル内で複数回使用することも、(オプションに許可されている場合は)同一のTRANLOGOPTIONS文内で複数のオプションを指定することもできます。

TRANLOGOPTIONSオプションは、対象のデータベースに対してのみ使用してください。

デフォルト

なし

構文

TRANLOGOPTIONS {[ALLOWTABLECOMPRESSION][ALTLOGDEST path | REMOTE]
[ALWAYSONREADONLYROUTING]
[ASMUSERALIAS alias [DOMAIN domain]]
[ASYNCTRANSPROCESSING buffer_size]
[BUFSIZE size]
[CHECKPOINTRETENTIONTIME days]
[{DBLOGREADERBUFSIZE size}]
[DB2APIRETRY 	retry_count]

[DB2ZV11COMPATIBILITYMODE]
[DICTIONARY_CACHE_SIZE value]

[DLFAILOVER_TIMEOUT seconds]

[DISABLESOFTEOFDELAY]
[EXCLUDEFILTERTABLE table]
[EXCLUDETAG {tag | + | NULL}] 
[EXCLUDETRANS transaction]
[EXCLUDEUSER user]
[EXCLUDEUSERID Oracle_uid]
[FAILOVERTARGETDESTID n]
[FETCHPARTIALJSON]
[FETCHPARTIALLOB]
[FETCHPARTIALXML]

[FORCEFETCHLOB]
[GETCTASDML | NOGETCTASDML]
[HANDLEDLFAILOVER [STANDBY_WARNING value | STANDBY_ABEND value]]
[IFILOCKSECONDS (seconds)]
[IGNOREDATACAPTURECHANGES | NOIGNOREDATACAPTURECHANGES]
[INCLUDEAUX (AUX_specification)]
[INCLUDEREGIONID | INCLUDEREGIONIDWITHOFFSET]
[INTEGRATEDPARAMS]
[INCLUDETAG tag]
[ENABLE_PROCEDURAL_REPLICATION Y] 
[ENABLE_AUTO_CAPTURE | DISABLE_AUTO_CAPTURE]
[LOB_CHUNK_SIZE size]
[MAXAUTOCMTTRANSSIZE (range, default)]
[LOGREADTIMEOUT value][MININGUSER {/ | user}[, MININGPASSWORD password]
   [algorithm ENCRYPTKEY {key_name | DEFAULT}] [SYSDBA]

[MININGUSERALIAS alias [DOMAIN domain]]
[MIXEDENDIAN [ON|OFF]]
[MANAGECDCCLEANUP | NOMANAGECDCCLEANUP ] 
[MANAGESECONDARYTRUNCATIONPOINT | NOMANAGESECONDARYTRUNCATIONPOINT ]
[PERFORMANCEPROFILE HIGH|MEDIUM|LOW_RES][QUERYTIMEOUT seconds]
[QUERYRETRYCOUNT seconds]
[READQUEUESIZE size]
[READTIMEOUT milliseconds]
[REDO_TRANSPORT_LAG_THRESHOLD seconds]
[REDO_TRANSPORT_LAG_TIMEOUT value]
[REQUIRELONGDATACAPTURECHANGES | NOREQUIRELONGDATACAPTURECHANGES]
[SOURCE_OS_TIMEZONE timezone]
[SKIPUNKNOWNEVENT]  
[SUPPRESSNOOOPUPDATES]
[TRACKSCHEMACHANGES | NOTRACKSCHEMACHANGES]
[TRANCOUNT integer]
[TSLOOKUPBEGINLRI | TSLOOKUPENDLRI]
[VALIDATEINLINESFLOB]
[USE_ROOT_CONTAINER_TIMEZONE]
[USENATIVEOBJSUPPORT | NOUSENATIVEOBJSUPPORT]
[VERSIONCHECK DYNAMIC | IMMEDIATE]
[WARNCREATEASSELECT]
}
ALWAYSONREADONLYROUTING
SQL Serverに有効です

ALWAYSONREADONLYROUTINGパラメータを使用すると、SQL Server用のExtractが常にオン可用性グループ・リスナーに接続された場合に、読取り専用処理を使用可能な読取り用セカンダリにルーティングできます。

ALTLOGDEST path | REMOTE

MySQLに有効です。

MySQLのログ索引ファイルの場所を指定します。Extractは、データベースのデフォルトの場所ではなく、この場所でログ・ファイルを探します。データベース構成にログの完全パス名が含まれていない場合、またはマシンに複数のMySQLがインストールされている場合に、ALTLOGDESTを使用できます。Extractではログ索引ファイルを読み取り、読取りが必要なバイナリ・ログ・ファイルが検索されます。ALTLOGDESTを使用する場合、Extractでは、ログと索引は同じ場所にあるとみなされます。

ディレクトリの完全パス名を指定します。

Windowsでは、次の例のように、パスに空白が含まれる場合にパスを二重引用符で囲みます。

TRANLOGOPTIONS ALTLOGDEST "C:\Program Files\MySQL\MySQL Server 5.7\log\binlog.index"

Linuxシステム上:

TRANLOGOPTIONS ALTLOGDEST "/mnt/rdbms/mysql/data/logs/binlog.index" 

リモートのMySQLデータベースに対して取得する場合は、索引ファイル・パスのかわりにREMOTEオプションを使用します。リモート・キャプチャから、Extractパラメータ・ファイルで次のように指定します。

TRANLOGOPTIONS ALTLOGDEST REMOTE

REMOTEオプションの使用方法の詳細は、「ロギング・パラメータの設定」を参照してください。

ASYNCTRANSPROCESSING buffer_size

Oracleの統合キャプチャ・モードのExtractに有効です。

統合キャプチャを非同期処理モードで実行するか、同期処理モードで実行するかを制御し、Extractが非同期モードの場合のバッファ・サイズを制御します。最小値は1、最大値は1024、デフォルト値は300です。

ASYNCTRANSPROCESSING buffer_size

非同期トランザクション処理モードには、2つの制御スレッドがあります。

  • 一方のスレッドは、論理変更レコード(LCR)をトランザクションにグループ化し、オブジェクトレベルのフィルタリングと部分ロールバック処理を行います。

  • 他方のスレッドは、コミットされたトランザクションをフォーマットし、ユーザー指定の変換を実行してトレイル・ファイルに書き込みます。

トランザクション・バッファは、これらの2つのスレッド間のバッファで、あるスレッドから別のスレッドへの転送に使用されます。デフォルト・トランザクション・バッファ・サイズはコミット済トランザクション300件分ですが、キャッシュ・メモリーが不足している場合はOracle GoldenGateメモリー・マネージャによって下方に調整されます。

NOASYNCTRANSPROCESSING

非同期処理を無効にし、Extractを同期モードで動作させます。このモードでは、1つのスレッドですべての取得処理を行います。

BUFSIZE size

DB2 LUWおよびDB2 z/OSに有効です。Oracle GoldenGate 19c以降では、DB2 for iに有効です。Oracle GoldenGate 21c以降では、Oracleデータベースに有効です。

トランザクション・ログから読み取られるデータを格納するために割り当てられるバッファの最大サイズ(バイト)を制御します。

値を大きくすると取得速度は向上しますが、Extractはより多くのメモリーを消費します。値を小さくすると、メモリーの使用量は減りますが、Extractはキャッシュ・サイズを超えるデータをディスクに保持する必要があるため、I/Oは増加します。

Oracleデータベースの場合、DDL操作のレコード・サイズは、Oracle GoldenGate内部レコード取得バッファ・サイズによって制限されます。DDLサイズは、Oracle RDBMSのサイズ制限まで指定できます。Oracleデータベース21cでは10MBを超えるDDLを作成できますが、内部レコード取得の最大バッファ・サイズは10MBに制限されています。

デフォルトのバッファ・サイズはREDOデータのソースによって決定されます。次に、有効範囲とデフォルト・サイズ(バイト)を示します。

DB2 LUW:

  • 最小: 8,192

  • 最大: 10,000,000

  • デフォルト: 204,800

  • 前述の値は、4096ページ・サイズの倍数である必要があります。指定された値がこの要件を満たさない場合、Extractは値を切り捨てて倍数にします。

DB2 z/OSおよびDB2 for i:

  • 最小: 36KB (36864)

  • 最大: 32MB (33554432)

  • デフォルト: 2MB (2097152)

  • 前述の値は、4096ページ・サイズの倍数である必要があります。指定された値がこの要件を満たさない場合、Extractは値を切り捨てて倍数にします。

  • 各Extractは、そのExtractが接続するDB2 z/OSシステム上のECSAの固定32バイトを使用します。これはDB2 for iには適用されません。

CHECKPOINTRETENTIONTIME days

Oracleの統合モードのExtractにのみ有効です。

パージされる前にExtractがチェックポイントを保持する日数を制御します。部分的な日数は、10進値を使用して指定されます。たとえば、8.25は8日と6時間を指定します。統合キャプチャ・モードのExtractのチェックポイントがパージされる場合、チェックポイントに対応するアーカイブ済REDOログ・ファイルのLogMinerデータ・ディクショナリ情報がパージされ、キャプチャ・プロセスのfirst_scn値は次のアーカイブ済REDOログの最初の変更に対応するSCN値にリセットされます。デフォルト値は7日、最小値は0.00001です。

DB2APIRETRY number of retries
ExtractがDB2のログ読取りAPI db2ReadLog()からエラーを受け取った場合、特定のエラーについてはAPIコールが再試行されます。この再試行の回数は、DB2APIRETRYを使用して変更します。デフォルトの再試行回数は3に設定されています。APIが再試行されるSQLコードは、SQLCODE -30108です。
DB2ZV11COMPATIBILITYMODE

DB2 z/OSのExtractに有効です。

Oracle GoldenGateを使用して一部の互換性モードのDB2 z/OSバージョン11から抽出すると、Extractプロセスで実際のデータベースのバージョンがプログラムによって決定されず、OGG-00551またはOGG-00804エラーが発生する場合があります。このオプションをExtractパラメータ・ファイルで使用して、正しいデータベース・バージョンを手動で設定します。

DICTIONARY_CACHE_SIZE value

このオプションを使用して、Extractからディクショナリ・キャッシュ・サイズをチューニングします。デフォルト値は5000です。PERFORMANCEPROFILEHIGHに設定されている場合、デフォルト値は10000です。

DLFAILOVER_TIMEOUT seconds

Oracleの統合モードのExtractに有効です。

ロール・トランジション後にスタンバイ・データベースの復帰を許可するための、構成可能なタイムアウト(秒)を指定します。これはHANDLEDLFAILOVERと一緒に使用して、統合Extractがロール・トランジションの直後に起動できるようにします。タイムアウト期間の終了時にスタンバイ・データベースがまだ使用できない場合、Extractは終了します。

デフォルトは300秒です。センチ秒またはミリ秒も使用できます。

DISABLESOFTEOFDELAY

OracleおよびDB2 LUWの統合モードのExtractにのみ有効です

Extractパラメータ・ファイルでDISABLESOFTEOFDELAYを使用して、返すレコードがない状態でEOFステータスが報告されると、待機時間が有効になるように設定します。

ENABLE_AUTO_CAPTURE | DISABLE_AUTO_CAPTURE

自動取得が有効な表のLCRを配信するauto_captureモードを有効にするには、このオプションを設定します。このオプションは、ソース・データベースのOracleバイナリ・バージョンが21c以降の場合に設定できます。

EXCLUDETAG {tag | + | NULL}]

Extractに有効です。(Oracleのみ)

EXCLUDETAGは、DBOPTIONS SET TAGオプションを使用して、またはdbms_xstream.set_tagプロシージャを使用してOracleデータベース・セッション内で、事前にReplicatによってタグ付けされた変更を除外するために使用されます。

EXCLUDETAG tagでは、指定したREDOログでタグ付けされた各レコードを無視するようにExtractプロセスに指示します。

タグ付けされていないすべてのDDL操作を除外するには、EXCLUDETAG NULLを使用します。これは、EXCLUDETAG +の反対です。

EXCLUDETAG +では、REDOログでタグ付けされた各レコードを無視するようにExtractプロセスに指示します。

次の例は、EXCLUDETAGを使用してタグ指定子を使用する方法です。

すべてのタグ付き変更を除外するには:

TRANLOGOPTIONS EXCLUDETAG +

特定のタグ付き変更を除外するには:

TRANLOGOPTIONS EXCLUDETAG 00
TRANLOGOPTIONS EXCLUDETAG 0952
EXCLUDETAGおよびINCLUDETAGパラメータの使用時の考慮事項

TRANLOGOPTIONSおよびDDLOPTIONSコマンドでEXCLUDETAGおよびINCLUDETAGパラメータを使用する場合は、次の点を考慮してください:

  • TRANLOGOPTIONS EXCLUDETAG/INCLUDETAGが指定されていて、DDLOPTIONS EXCLUDETAG/INCLUDETAGが指定されていない場合、TRANLOGOPIIONS EXCLUDETAG/INCLUDETAGパラメータはDML操作とDDL操作の両方に適用されます。

  • TRANLOGOPTIONS EXCLUDETAG/INCLUDETAGオプションが指定され、DDLOPTIONS EXCLUDETAG/INCLUDETAGも指定されている場合、TRANLOGOPIIONS EXCLUDETAG/INCLUDETAGはDML操作に適用され、DDLOPTIONS EXCLUDETAG/INCLUDETAGはDDL操作に適用されます。

  • TRANLOGOPTIONS EXCLUDETAG/INCLUDETAGが指定されておらず、DDLOPTIONS EXCLUDETAG/INCLUDETAGが指定されている場合、DDLOPTIONS EXCLUDETAG/INCLUDETAGはDDL操作に適用され、DML操作に対するタグ・フィルタリングはありません。

  • TRANLOGOPTIONS EXCLUDETAG/INCLUDETAGが指定されておらず、DDLOPTIONS EXCLUDETAG/INCLUDETAGも指定されていない場合、デフォルトのオプションDDLOPTIONS EXCLUDETAG +が適用可能であり、すべてのタグ付きDDL操作は除外されます。

  • DDLOPTIONSEXCLUDETAGINCLUDETAGの両方を指定する場合は、EXCLUDETAGを最初に指定する必要があります。

EXCLUDETRANS transaction

Oracleの統合Extractに有効です。

Replicatデータベース・ユーザーまたは他の任意のユーザーのトランザクション名を指定し、Extractによるこれらのトランザクションの取得を防ぎます。双方向処理で、データベース間でのデータのループを防止するために使用します。

双方向同期の詳細は、『Oracle GoldenGate Microservicesドキュメント』双方向レプリケーションの構成を参照してください。

EXCLUDEUSER user

DB2 LUW、DB2 for z/OS、DB2 for i、OracleおよびSybaseに有効です。

フィルタとして使用するReplicatデータベース・ユーザーまたはその他のユーザーの名前を指定します。通常このオプションは、双方向またはカスケード処理構成で、除外または取得するReplicatトランザクションを特定するために使用します。ただしこのパラメータは、特定のビジネス・アプリケーションなど、その他のユーザーのトランザクションの特定にも使用できます。

EXCLUDEUSEREXCLUDEUSERIDは、同一のパラメータ・ファイルで使用できます。どちらのパラメータでもワイルドカードは使用しないでください。

ユーザー名は有効である必要があります。Oracle GoldenGateは、データベースに問い合せて関連するユーザーIDを取得し、この数値識別子をユーザー名にマップします。そのため、名前解決がデフォルトのDYNAMICRESOLUTIONに設定されているときに、指定されたユーザーが削除および再作成された場合、EXCLUDEUSERは有効のままです。名前解決がNODYNAMICRESOLUTIONに設定されているときに同一のトランザクションが実行されると、EXCLUDEUSERが無効になり、Extractを停止してから起動してEXCLUDEUSERを有効にする必要があります(DYNAMICRESOLUTIONを参照)。

  • z/OS上のDB2での考慮事項: z/OS上のDB2では、このユーザーは常にトランザクションのプライマリ許可IDで、通常はログオンした元のRACFユーザーのIDですが、トランザクション・プロセッサまたはDB2イグジットによって変更されているときは、別の許可IDの場合もあります。

  • Oracleでの考慮事項: Oracleデータベースでは、複数のEXCLUDEUSER文を使用できます。指定したすべてのユーザーは、ReplicatユーザーEXLCUDEUSERと同じとみなされ、マルチテナント・ソース・データベースではサポートされていません。

次のOracle例は、2人のユーザーを(1人は名前、1人はユーザーIDで)フィルタ処理します。これらのユーザーが生成したトランザクションはフィルタ・タグを使用して処理され、新しいトランザクション・バッファ・サイズが指定されます。
TRANLOGOPTIONS EXCLUDEUSER ggsrep, EXCLUDEUSERID 90, BUFSIZE 100000
マルチテナントでEXCLUDEUSERを使用するには、PDB.USERNAMEを指定する必要があります。次の例では、PDBXYZ.SCOTTによるDML操作を除外します。
TRANLOGOPTIONS EXCLUDEUSER PDBXYZ.SCOTT
EXCLUDEUSERID Database_uid

OracleのExtractに有効です。

フィルタとして使用する、Replicatデータベースのユーザーまたは他の任意のユーザーのデータベース・ユーザーID (uid)を指定します。このパラメータは、マルチテナントExtractでは無効です。かわりに、タグ付けとEXCLUDETAGを使用してください。

使用方法はEXCLUDEUSERと同じです。

Oracle_uidは、負でない整数で、最大値は2147483638です。ユーザーIDを取得するために問い合せることのできるシステムはいくつかあります。最も簡便なものはALL_USERSビューです。Oracle GoldenGateは、ユーザーIDを検証しません。指定したユーザーIDに関連付けられているユーザーが削除および再作成された場合、このユーザーには新しいユーザーIDが割り当てられるため、このユーザーにはEXCLUDEUSERIDは無効になります。

FAILOVERTARGETDESTID n

OracleのExtractに有効です。

Oracle Data Guard構成でOracle GoldenGate Extractプロセスを使用する場合、GoldenGate Extractプロセスは、Oracle Data Guardスタンバイ・データベースに適用されているREDOの後ろにとどまる必要があります。FAILOVERTARGETDESTIDパラメータは、LOG_ARCHIVE_DEST_n初期化パラメータを識別するために使用されます。この初期化パラメータは、Extractが後ろにとどまる必要があるフェイルオーバー・ターゲットである、スタンバイを指します。このパラメータをHANDLEDLFAILOVERと組み合せて使用して、Oracle Data Guardスタンバイ・データベースの適用進捗に基づいてExtractでトレイル・データのその書込みを調整するかどうかを制御します。Data Guard構成でファスト・スタート・フェイルオーバー(FSFO)が有効になっている場合、FAILOVERTARGETDESTIDは必要ありません。最小値は0、最大値は32、デフォルト値は0です。

TRANLOGOPTIONS FAILOVERTARGETDESTID Extractパラメータに正しい値を決定するには、Extractがデータを抽出するデータベースに接続し、次のコマンドを発行します。
SQL> show parameters log_archive_dest
        NAME TYPE VALUE 
        -----------------------------------------------------------------------------
         log_archive_dest_1 string location=USE_DB_RECOVERY_FILE_DEST, 
         valid_for=(ALL_LOGFILES, ALL_ROLES)
        
         log_archive_dest_2 string service="ggs2d", 
         ASYNC NOAFFIRM delay=0 optional compression =disable max_failure=0
         max_connections=1 reopen=300 db_unique_name="GGS2D" net_timeout=30,
         valid_for=(online_logfile,all_roles)
        

ExtractパラメータTRANLOGOPTIONS FAILOVERTARGETDESTIDは、スタンバイ・データベースのOracle GoldenGateが後ろにある必要があるため、2に設定されます。1番目のエントリ(log_archive_dest_1)はそのデータベースのローカル・アーカイブ・ログ用で、2番目のエントリはスタンバイ・データベース用です。

2に設定される理由は、Oracle GoldenGateが後にとどまる必要のあるスタンバイ・データベースだからです。1番目のエントリ(log_archive_dest_1)はそのデータベースのローカル・アーカイブ・ログ用で、2番目のエントリはスタンバイ・データベース用です。

FETCHPARTIALJSON

MySQLのExtractに有効です

表のJSONデータ型列に部分的な更新がある場合、Extractパラメータ・ファイルでこのオプションを使用して、表からデータを直接フェッチします。

ノート:

JSON列データの更新の処理はMySQLサーバー変数binlog_row_value_optionsの値に依存し、その値はPARTIAL_JSONとして設定する必要があり、Extractパラメータ・ファイルにはFETCHPARTIALJSONパラメータが含まれます。
FETCHPARTIALLOB

Oracleの統合キャプチャ・モードのExtractに有効です。

このオプションは、異種ターゲットにレプリケートする場合、またはLOBイメージ全体が必要なその他の場合に使用します。REDOレコードからの部分的な変更オブジェクトを使用せずに、Extractに完全なLOBオブジェクトをフェッチさせます。デフォルトでは、データベース・ログマイニング・サーバーは、ソースLOBのすべてが更新されたか一部が更新されたかに応じて、LOBの全体または一部をExtractに送信します。LOBのスナップショットが確実に正しいものになるように、Oracle Flashback機能を表に対して有効にし、Extractが使用するように構成する必要があります。ExtractのFETCHOPTIONSパラメータはフェッチを制御し、USESNAPSHOT (NOUSESNAPSHOTがない場合のデフォルト)に設定する必要があります。Flashbackスナップショットがない場合、Extractは表からLOBをフェッチしますが、REDOレコードが生成された時点とは異なるイメージである可能性があります。

FETCHPARTIALXML

統合キャプチャ・モードのOracleのExtractに有効です。

このオプションは、異種ターゲットにレプリケートする場合、またはLOBイメージ全体が必要なその他の場合に使用します。REDOレコードからの部分的な変更イメージを使用せずに、Extractに完全なXMLドキュメントをフェッチさせます。デフォルトでは、データベース・ログマイニング・サーバーは、ソースXMLのすべてが更新されたか一部が更新されたかに応じて、XMLドキュメントの全体または一部をExtractに送信します。XMLのスナップショットが確実に正しいものになるように、Oracle Flashback機能を表に対して有効にし、Extractが使用するように構成する必要があります。ExtractのFETCHOPTIONSパラメータはフェッチを制御し、USESNAPSHOT (NOUSESNAPSHOTがない場合のデフォルト)に設定する必要があります。Flashbackスナップショットがない場合、Extractは表からXMLドキュメントをフェッチしますが、REDOレコードが生成された時点とは異なるイメージである可能性があります。

EXCLUDEFILTERTABLE table

MySQL、PostgreSQLおよびSQL ServerのExtractに有効です。

このオプションを使用して、フィルタリングするソース・トランザクションを識別します。指定したEXCLUDEFILTERTABLEに対する操作がソース・トランザクションに含まれている場合、そのトランザクションはレプリケートされたトランザクションとして識別されます。トランザクションのフィルタリングはタグに基づいています。

Replicatでチェックポイント表を使用すると、適用される各トランザクションの最後にリカバリ・レコードがチェックポイント表に書き込まれます。Replicatによって適用されるすべてのトランザクションにチェックポイント表への更新が含まれている場合、ExtractはReplicatによって適用されるトランザクション全体を無視するため、データ・ループが回避されます。PostgreSQLおよびSQL Serverの場合、チェックポイント表にTRANDATAが追加されていることを確認します。

双方向レプリケーションでパラレルReplicatを使用する場合、TRANLOGOPTIONS EXCLUDEFILTERTABLEオプションを使用すると複数のフィルタ表がサポートされます。複数のフィルタ表を使用すると、異なる表名またはワイルドカードでTRANLOGOPTIONS EXCLUDEFILTERTABLEを複数回指定できます。

Extractパラメータ・ファイルには、単一または複数のTRANLOGOPTIONS EXCLUDEFILTERTABLEエントリを含めることができます。次の例では、複数のTRANLOGOPTIONS EXCLUDEFILTERTABLEエントリが、明示的なオブジェクト名とワイルドカードを使用してExtractパラメータ・ファイルに含まれています。
TRANLOGOPTIONS EXCLUDEFILTERTABLE ggs.chkpt2
TRANLOGOPTIONS EXCLUDEFILTERTABLE ggs.chkpt_RABC_*

チェックポイント表の作成の詳細は、プライマリExtractの追加を参照してください。オブジェクト名やワイルドカードを正しく指定するには、『Oracle GoldenGate Microservicesドキュメント』コマンド引数でのワイルドカードの使用を参照してください。

FORCEFETCHLOB

OracleのExtractに有効です。

REDOログからLOBデータを取得するデフォルトの動作をオーバーライドします。デフォルトでは、データベースからLOBをフェッチさせます。

注意:

フェッチが発生する前に値が削除された場合、ExtractによってNULLがトレイルに書き込まれます。フェッチの前に値が更新された場合、Extractによって更新された値が書き込まれます。これらの不正を回避するには、Extractのレイテンシを少なくしてください。Oracle GoldenGateドキュメントにプロセスのパフォーマンス・チューニングのガイドラインが記載されています。また、フェッチ・オプションの設定方法の詳細は、「表からのフェッチとDDLとの相互作用」を参照してください。
GETCTASDML | NOGETCTASDML

CREATE TABLE AS SELECT (CTAS)機能を有効にします。GETCTASDMLが有効な場合、CTAS DMLはLogMinerから送信され、ターゲットでレプリケートされます。このオプションはデフォルトでは有効になります。CTAS DDLの実行はターゲットで抑止されます。

HANDLEDLFAILOVER [ STANDBY_WARNING value | STANDBY_ABEND value ]

OracleのExtractに有効です

STANDBY_WARNINGおよびSTANDBY_ABENDは、Oracle Database 21c以上の場合に有効です。

ファスト・スタート・フェイルオーバー・スタンバイ・データベースの適用進捗に基づいて、Extractがトレイル・データの書込みを抑制するかどうかを制御します。この目的は、データ損失のフェイルオーバーに対してExtractを安全に保つことです。

Data Guard構成のデータ損失に対して、ファスト・スタート・フェイルオーバー(FSFO)なしでこれを使用している場合は、FAILOVERTARGETDESTID Extractパラメータを設定して、スタンバイを接続できる場所にアーカイブ・ログの宛先をID指定する必要があります。

Extractがスタンバイ・データベースの適用SCN情報(SELECT applied_scn FROM v$archive_dest where dest_id=n)を問い合せたときに、このSCNがExtract処理LCR SCNより小さい場合、Extractは停止状態であることがわかります。この場合、ExtractはLCRを処理せず、applied_scnがExtract処理LCR SCN以上になるまで待機します。

STANDBY_WARNING value
Extractが停止している場合に、警告メッセージがExtractレポート・ファイルに書き込まれるまでの時間。デフォルトは60秒です。
STANDBY_ABEND value
Extractが停止している場合に、Extractが異常終了するまでの時間。デフォルトは30分です。

STANDBY_WARNINGSTANDBY_ABENDの両方を指定する場合、STANDBY_ABENDは常にSTANDBY_WARNINGより大きくする必要があります。

IFILOCKSECONDS seconds

Db2 z/OSに有効です

IFCID 0306へのコールによってデータベースに保持されている暗黙的ロックをExtractが保持する間隔を秒単位で設定します。ロックは、REORGSなどの特定のデータベース操作を実行する機能に影響する可能性があります。デフォルト値は20秒で、最小値と最大値はそれぞれ1秒および300秒です。

ノート:

IFILOCKSECONDSパラメータが長期間設定されている場合、Extract IFIコールによる内部ロックが原因で、REORGSなどの他のデータベース操作が影響を受ける可能性があります。したがって、Extractに関連するロック競合が発生した場合は、操作のロック・タイムアウトをIFILOCKSECONDSパラメータの値より長い期間に設定するか、Extractを停止します。

IGNOREDATACAPTURECHANGES | NOIGNOREDATACAPTURECHANGES

Db2 LUWに有効です

DATA CAPTURE CHANGESが設定されていない表をExtractがキャプチャするかどうかを制御します。IGNOREDATACAPTURECHANGESは、DATA CAPTURE CHANGESが設定されていない表を無視します。表がワイルドカードで指定されている場合に、変更取得セットが含まれている表の処理を継続するために使用します。スキップされた表に対する警告がエラー・ログに発行されます。デフォルトはNOIGNOREDATACAPTURECHANGESです。

INCLUDEREGIONID | INCLUDEREGIONIDWITHOFFSET

OracleのExtractに有効です。

これらのオプションは、TZR (US/Pacificなどのタイムゾーン・リージョンを表す)として指定されたOracleデータ型TIMESTAMP WITH TIME ZONE をサポートします。デフォルトでは、Extractは、タイムゾーン・リージョンが含まれる場合、TIMESTAMP WITH TIME ZONEで異常終了します。これらのオプションにより、ターゲット・データベース・タイプに基づいて、このタイムスタンプを処理できます。

ソースのデータ型がTIMESTAMPで、リージョンIDマッピング・トークンがあることが検出された場合、Extractは次のようにタイムスタンプを適用します。

  • ターゲットのOracleリリースでサポートされている場合、TIMESTAMP WITH TIME ZONETZRが適用されます。

  • 異種データベース、または、TIMESTAMP WITH TIME ZONETZRをサポートしていない以前のリリースのOracleには、タイムスタンプとUTCオフセットが適用されます。

INCLUDEREGIONID

Oracleの統合Extractに有効です。

INCLUDEREGIONIDは、Oracle GoldenGate 19c (19.1.0)では非推奨です。Oracle GoldenGate 19c (19.1.0)以降では、リージョンIDデータを持つTIMESTAMP WITH TIME ZONEが、初期ロードなどにデフォルトで含まれています。

Oracleソースから、同じリリース以降のOracleターゲットにレプリケートする場合に使用します。INCLUDEREGIONIDを指定すると、Extractは、列索引と2バイトのTMZ値をタイムゾーン・マッピング・トークンとして追加し、それをYYYY-MM-DD HH:MI.SS.FFFFFF +00:00のUTCフォーマットでトレイルに出力します。

INCLUDEREGIONIDWITHOFFSET

Oracleの統合Extractに有効です。

このオプションは、リージョンIDを時間および分のオフセット値(+06:00など)に変換するために使用します。このオプションが指定されていない場合、タイムスタンプは常にUTCでトレイル・ファイルに書き込まれ、タイムゾーンは常に+00:00となります。

タイム・ゾーン値をUTCではなく時間および分で保存する必要がある場合は、このオプションを使用できます。

次の場合は、TIMEZONE値を時間および分のオフセットで保持するために、このオプションが強制的にオンになります。
  • 古いトレイル・ファイル形式(ReplicatでリージョンIDがサポートされていないため)。

  • XMLTEXTおよびSQL形式(リージョンIDをサポートしていないため)。

INCLUDETAG {tag| +}

Extractに有効です。(Oracleのみ)

証跡ファイルに特定のタグ付きDDL操作を含めるには、INCLUDETAG tagを使用します。タグ値は、16進数の桁で2000 (0-9 A-F)まで指定できます。

競合を回避するには、INCLUDETAGEXCLUDETAGと組み合せて使用しないでください。

例: tranlogoptions includetag 00

LOB_CHUNK_SIZE

SQL Server、PostgreSQLに有効です。

非常に大きいLOBデータ・サイズの場合、LOB_CHUNK_SIZEをデフォルトの4000バイトから最大65535バイトまで調整できるため、フェッチ・サイズを大きくして、LOB全体をフェッチするために必要なトリップ回数を削減できます

例: TRANLOGOPTIONS LOB_CHUNK_SIZE 8000

(PostgreSQL) COMにプッシュするために使用されるLOB (CLOB/BLOB)データのチャンク・サイズを指定します。単位はバイトです。最小および最大のlob_chunk_size値は、4000から65535バイトの間です。

LOGREADTIMEOUT value

PostgreSQLバージョン12以上のExtractに有効です。

WAL送信者プロセスのwal_sender_timeoutオプションを有効または無効にします。

valueオプションには、整数値のみを指定でき、デフォルト値は60000ミリ秒です。最大値は2147483647ミリ秒で、最小値は0ミリ秒です。

INTEGRATEDPARAMS (parameter value [, ...])

Oracle StandardまたはEnterprise Edition 12c以降の統合キャプチャ・モードのExtractに有効です。

Extractが統合キャプチャ・モードの場合、パラメータと値をOracle Databaseログマイニング・サーバーに渡します。入力は次のようにparameter valueの形式である必要があります。

TRANLOGOPTIONS INTEGRATEDPARAMS (downsream_real_time_mine Y)

有効なparameter指定とその値は次のとおりです。

max_sga_size

データベース・ログマイニング・サーバーによって使用されるSGAメモリーの量を指定します。正の整数をMB単位で指定できます。streams_pool_sizeが1GBより大きい場合、デフォルトは1GBです。それ以外の場合、streams_pool_sizeの75%がデフォルトになります。

parallelism

データベース・ログマイニング・サーバーをサポートしているプロセスの数を指定します。正の整数を指定できます。デフォルトは2です。

downstream_real_time_mine

統合キャプチャがダウンストリーム・マイニング・データベースをリアルタイム・モードでマイニングするかどうかを指定します。値Yでは、リアルタイムの取得を指定し、スタンバイREDOログがダウンストリーム・マイニング・データベースで構成されている必要があります。値Nは、ダウンストリーム・マイニング・データベースに転送されたアーカイブ・ログから取得することを指定します。デフォルトはNです。

enable_procedural_replication

キャプチャでのプロシージャ・レプリケーションを有効にします。プロシージャ・レプリケーションはデフォルトでは無効です。値Yでプロシージャ・レプリケーションが有効になります。このオプションをいったんExtractでオンにすると、そのままになります。このパラメータ値を元に戻すことはできません。

MANAGESECONDARYTRUNCATIONPOINT | NOMANAGESECONDARYTRUNCATIONPOINT

PostgreSQLに有効です。

MANAGESECONDARYTRUNCATIONPOINTがデフォルト設定で、特定のExtractのレプリケーション・スロットのrestart_lsnを制御します。

NOMANAGESECONDARYTRUNCATIONPOINTは、Extractのレプリケーション・スロットを移動せず、通常、ExtractのリカバリLSNから以前のLSNに再配置する必要がある開発およびテストの目的でのみ使用されます。使用した場合、PostgreSQL先読みログは増え続け、ディスク領域を消費します。

MAXAUTOCMTTRANSSIZE (range, default)

DB2 for iにのみ有効です。

自動コミット・トランザクションの最大サイズの範囲を指定します。

DB2 for iの自動コミット・レコード(ジャーナル・エントリのCCIDが0と等しいもの)には、ジャーナル内のコミット・レコードがありません。そのため、Oracle GoldenGateでは、そうしたレコードを証跡に含めるために暗黙的なトランザクションを作成する必要があります。デフォルトでは単一のトランザクションに単一のレコードを含めることができます。この場合は、IO時間がトランザクションのコミットに基づいているため、レコードごとに示されるIO時間の精度が維持されます。

このパラメータでは、暗黙的に作成されるトランザクションに含めるレコードの最大数を設定しますが、最大値に到達する前にジャーナル内で別のタイプのエントリが見つかった場合は、その数が少なくなることがあります。この動作によって、明示的にコミットされたレコードに属するレコードでチェックポイントが重複する問題を回避します。

このパラメータの値を1 (デフォルト値)に設定すると、潜在的にExtractのスループットが低下しますが、自動コミットされるレコード(ジャーナル・エントリのCCIDが0)の証跡で各レコードの正確なIO時間が示されます。このパラメータの値は、これらのレコードのトランザクションがメモリーにキャッシュされる可能性のある最大サイズにも影響します。この値を小さい値に設定すると、Extractが暗黙的なトランザクションごとにエントリの最大数を格納できる場合は、トランザクション・メモリーが少なくなります。定義により、そのような暗黙的なトランザクションは常に1つのみ存在できます。これは、その他のトランザクション・レコードでは、すでにメモリー内に存在する暗黙的なトランザクションに含まれるレコードの証跡への即時コミットが発生するためです。

デフォルトの範囲は1から10000です。デフォルト値は1です。

MININGUSER {/ | useridalias
[algorithm ENCRYPTKEY {key_name | DEFAULT}] [SYSDBA]]

OracleのOracle GoldenGate Extractに有効です。

ログマイニング・サーバーとやり取りするダウンストリームOracleマイニング・データベースにログインするための、Extractのログイン資格証明を指定します。Oracle GoldenGate資格証明ストアが使用されていない場合にMININGUSERALIASオプションのかわりに使用できます。

ユーザーは、次を満たす必要があります。

  • Oracle GoldenGate 23ai以降では、OGG_CAPTURE およびOGG_APPLYロールの権限が付与されています。Oracleデータベース21cでは、dbms_goldengate_auth.grant_admin_privilegeで付与された権限を適用する必要があります。

  • このMININGDBLOGIN USERIDALIASに関連付けられているExtractグループに、MININGDBLOGINまたはMININGDBLOGIN USERIDALIASおよびREGISTER EXTRACTまたはUNREGISTER EXTRACTコマンドを発行するユーザーです。

  • 変更されません。

/

データベース・ユーザー・ログインではなく、Oracle用のオペレーティングシステム・ログインを使用するようにOracle GoldenGateに指示します。この引数は、データベースによってオペレーティングシステム・レベルでの認証が許可されている場合にのみ使用します。データベースレベルの認証をバイパスすることにより、アプリケーションのパスワードが頻繁に変更される場合に、Oracle GoldenGateパラメータ・ファイルを更新する必要がなくなります。

このオプションを使用するには、Oracle OS_AUTHENT_PREFIX初期化パラメータの値との関連で、正しいユーザー名がデータベースに存在している必要があります。OS_AUTHENT_PREFIXで指定されている値は、ユーザーのオペレーティング・システム・アカウント名の先頭に追加され、データベース名と比較されます。この2つの名前は一致する必要があります。

OS_AUTHENT_PREFIX' ' (NULL文字列)に設定されている場合は、ユーザー名をIDENTIFIED EXTERNALLYとして作成する必要があります。たとえば、OSユーザー名がoggの場合は、次のようにしてデータベース・ユーザーを作成します。

CREATE USER ogg IDENTIFIED EXTERNALLY;

OS_AUTHENT_PREFIXOPS$または別の文字列に設定されている場合は、ユーザー名は次のフォーマットで作成する必要があります。

OS_AUTHENT_PREFIX_value OS_user_name

たとえば、OSユーザー名がoggの場合は、次のようにしてデータベース・ユーザーを作成します。

CREATE USER ops$ogg IDENTIFIED BY oggpassword;
user

マイニング・データベース・ユーザー名またはSQL*Net接続文字列を指定します。

password

ユーザーのパスワードです。データベース・ユーザーのパスワードを指定するためにデータベース認証が必要な場合に使用します。パスワードがENCRYPT PASSWORDコマンドによって暗号化されている場合は、暗号化されたパスワードを指定します。それ以外の場合は、クリアテキストのパスワードを使用します。パスワードに大/小文字の区別がある場合は、そのように入力してください。ユーザーIDまたはパスワードのいずれかが変更されると、必要に応じて、パスワードの再暗号化など、Oracle GoldenGateパラメータ・ファイルの変更を行う必要があります。

algorithm

ENCRYPT PASSWORDでパスワードの暗号化に使用した暗号化アルゴリズムを指定します。次のいずれかになります。

AES128
AES192
AES256
ENCRYPTKEY {key_name | DEFAULT}

ENCRYPT PASSWORDで指定した暗号化キーを指定します。

  • ENCRYPTKEY key_nameは、ENCKEYS参照ファイル内のユーザー作成の暗号化キーの論理名を指定します。ENCRYPT PASSWORDKEYNAME key_nameオプションとともに使用された場合に使用します。

  • ENCRYPTKEY DEFAULTを指定すると、Oracle GoldenGateでランダムなキーが使用されます。ENCRYPT PASSWORDKEYNAME DEFAULTオプションとともに使用された場合に使用します。

SYSDBA

ユーザーがsysdbaとしてログインするように指定します。

MININGUSERALIAS alias

OracleのExtractに有効です。

ログマイニング・サーバーとやり取りするダウンストリームOracleマイニング・データベースにログインするためにExtractが使用するログイン資格証明の別名を指定します。Oracle GoldenGate資格証明ストアが使用されている場合にMININGUSERのかわりに使用できます。

この別名は、次を満たす必要があります。

  • ローカルOracle GoldenGate資格証明ストアに格納されているデータベース・ユーザー・ログイン資格証明に関連付けられている。このユーザーには、Oracleデータベース21c以下の場合はdbms_goldengate_auth.grant_admin_privilegeに、Oracleデータベース23ai以上の場合はOGG_CAPTUREおよびOGG_APPLYロールが付与されている必要があります。

  • このMININGUSERALIASに関連付けられているExtractグループのMININGDBLOGINまたはMININGDBLOGINALIASおよびREGISTER EXTRACTまたはUNREGISTER EXTRACTコマンドを発行するユーザーである。

この別名とユーザーは、Extractが統合キャプチャ・モードである間は変更しないでください。

MIXEDENDIAN [ON|OFF] 
Oracle GoldenGateプライマリExtractと使用のDb2 LUWで有効

Db2 LUWのためのOracle GoldenGate Extractは、データベースとOracle GoldenGateが異なるバイト・オーダーのサーバーで稼働している状況でのクロスエンディアン・キャプチャをサポートしています。Db2 LUW データベース・バージョン10.5以上では、自動的にバイト・オーダーが検出されます。Db2 LUW 10.5の自動検出を無効にする必要がある場合は、このパラメータを指定することで上書きできます。バージョン10.1の場合は、クロスエンディアン・キャプチャのためにExtractパラメータ・ファイルでこのパラメータを使用する必要があります。デフォルトでは、バージョン10.1用の値はOFFに設定されています。

構文:

TRANLOGOPTIONS MIXEDENDIAN [ON|OFF] 

ON: この設定の場合、ExtractはデータベースとOracle GoldenGateが異なるバイト・オーダーのサーバーで稼働していて、必要なバイト反転変換が実行されると見なします。

OFF: この設定の場合、ExtractはデータベースとOracle GoldenGateが同じバイト・オーダーのサーバーで稼働していて、バイト・オーダーの反転変換が実行されないと見なします。

MANAGECDCCLEANUP | NOMANAGECDCCLENUP

SQL Serverに有効です。

MANAGECDCCLEANUPが、Oracle GoldenGateのアーキテクチャおよびバージョンに応じて、Oracle GoldenGate CDCクリーン・アップ・ジョブまたはパージ・チェンジ・データ・タスクの存在を検証するようExtractに指示するデフォルトの推奨設定です。

すべてのOracle GoldenGate Classic ArchitectureバージョンおよびOracle GoldenGate 21.4より前のMicroservicesバージョンでは、ogg_cdc_cleanup_setup.bat/shプログラムを使用して、Oracle GoldenGate CDCクリーン・アップ・ジョブおよび関連する表およびストアド・プロシージャをインストールします。

Oracle GoldenGateマイクロサービス21.4以降のインストールでは、WebUIの管理サービスの「構成」セクションにあるタスク・ページからパージ・チェンジ・データ・タスクを作成します。パージ・チェンジ・データ・タスクは、必要なストアド・プロシージャおよび関連する表を作成し、SQL Server Agentジョブではなく、Oracle GoldenGate内のパージ機能を処理します。

NOMANAGECDCCLEANUPオプションは、ExtractにOracle GoldenGate CDCクリーン・アップ・ジョブまたはパージ・チェンジ・データ・タスクの存在をチェックしないよう指示します。これは本番環境にはお薦めしませんが、Oracle GoldenGateのCDCクリーン・アップ・ジョブまたはタスクを作成することなくExtractをテストするために使用できます。

PERFORMANCEPROFILE HIGH|MEDIUM|LOW_RES
統合キャプチャ・モードのExtractに有効です。

統合キャプチャのチューニング用。

これは、HIGHMEDIUM (デフォルト)またはLOW_RESに設定できます。パフォーマンスに影響するパラメータをまとめることで、パフォーマンスの向上に役立ちます。パフォーマンス・プロファイルをいったん設定すると、必要なスループットとレイテンシを達成するように、このオプションによって関連するパラメータが自動的に構成されます。

  • HIGHオプションを使用すると、エンドツーエンド・レプリケーションの観点から、連続したスループットの高いワークロードをより効率的に処理できます。HIGHオプションは、トレイル・ファイルのバッファ・サイズを4 MBに増やし、ファイルの終わりとフラッシュ・オプションの値を0.1秒に減らします。

  • MEDIUMオプションは、トレイル・ファイルのバッファ・サイズを1 MBに設定し、ファイルの終わりとフラッシュの値を1秒に設定します。

  • LOW_RESオプションは、リソースが少なく、メモリーまたはリソースの制約付きデプロイメントに追加されている場合に適用できます。

HIGHオプションが低から中程度のワークロードに対して有効になっている場合、統合Extractのレイテンシは数秒に急増します。これは、HIGHオプションによって、Extractの読取りバッファ・サイズが8MBに増加するためです。ただし、抽出読取りバッファをフラッシュするルールは、バッファが一杯の場合、または0.2秒間受信レコードがない場合です。したがって、Extractの取込み率が8MB未満の継続的なワークロードでは、統合Extractレイテンシが1秒を超えます。抽出の取込み率(REDOの100%を取得している場合はREDO生成率)が最大0.5秒の抽出のレイテンシを取得するために最大15 MB/秒などの特定の値を下回っている場合は、HIGHオプションを使用しないでください。1秒未満のレイテンシが必要な場合は、それに応じてバッファ・サイズを小さくすることをお薦めします。たとえば、バッファ・サイズをREDO生成率(MB/秒)の3分の1に設定して、最大抽出レイテンシを最大0.3秒にします。

QUERYTIMEOUT seconds

SQL Serverに有効です。

SQL Serverへの問合せで、タイムアウト・エラー・メッセージを報告するまでに結果を待機する時間を指定します。このオプションは整数値を使用して秒数を表します。デフォルトの問合せタイムアウト値は300秒(5分)です。最小値は0秒です(無限タイムアウト)。最大値は2147483645秒です。

次の例では、SQL Serverがタイムアウトまでに結果を60秒待つように指示しています。

TRANLOGOPTIONS QUERYTIMEOUT 60
QUERYRETRYCOUNT seconds

SQL ServerおよびMySQLのExtractに有効です。

結果セットがタイムアウトした場合に、Extractで使用されるCDCストアド・プロシージャへのコールを再試行する回数を指定します。

QUERYRETRYCOUNTを指定すると、再試行が複数回行われます。すべての再試行が失敗すると、Extractは通常の接続タイムアウト・エラー・メッセージを示して異常終了します。

SQL Serverの場合、デフォルトは1回の再試行で、その後プロセスは異常終了します。最小設定(0)は無制限、最大は1000、デフォルトは1です。

MySQLの場合、最小およびデフォルト設定は50で、最大は1000です。無制限の値はありません。QUERYRETRYCOUNTを最小値未満に設定しようとすると、エラーや警告は表示されずに無視されます。

次の例では、ExtractによってCDCストアド・プロシージャのコールが4回試行されます。

TRANLOGOPTIONS QUERYRETRYCOUNT 4
次の例では、ExtractによってCDCストアド・プロシージャのコールが100回試行されます。
TRANLOGOPTIONS QUERYRETRYCOUNT 100
READQUEUESIZE size

MySQLに有効です。

トランザクション・データの内部キューのサイズをバイト単位で指定します。これによりパフォーマンスが向上します。有効な値は、3から1500までの整数です。デフォルトは256バイトです。高い値に調整する前に、デフォルトから開始して、パフォーマンスを評価してください。

REDO_TRANSPORT_LAG_THRESHOLD seconds
ダウンストリーム・マイニング・モードの統合Extractに有効です。

REDOログが転送されるときに、ソース・データベースとターゲット・データベース間のネットワーク・レイテンシをモニタリングします。レイテンシが指定されたしきい値を超えると、レポート・ファイルに警告が表示され、ラグが通常レベルまで減少すると後続の情報メッセージが表示されます。

デフォルトのしきい値は30秒です。指定可能な最小しきい値は15秒です。

詳細は、ダウンストリームExtractを参照してください

REDO_TRANSPORT_LAG_TIMEOUT value
ダウンストリーム・マイニング・モードの統合Extractに有効です。

このパラメータ・オプションに入力として指定される値は、Extractが各スレッドからのREDOを待機する期間です。すべてのスレッドで待機のタイムアウト(秒単位)が経過し、REDOを受信していない場合、Extractは異常終了します。

REQUIRELONGDATACAPTURECHANGES | NOREQUIRELONGDATACAPTURECHANGES

DB2 LUWに有効です。

DATA CAPTURENONE、またはINCLUDE LONGVAR COLUMNSのないCHANGESに設定され、パラメータ・ファイルに、一部またはすべての列値のビフォア・イメージを必要とするOracle GoldenGateパラメータ(GETBEFOREUPATESNOCOMPRESSUPDATESおよびNOCOMPRESSDELETES)が含まれている場合に、Extractの応答を制御します。この2つのDATA CAPTURE設定では、LONGVAR列のビフォア値が記録されません。Extractがこれらの列を使用できない場合、ターゲット・データの整合性に影響が及ぶことがあります。

REQUIRELONGDATACAPTURECHANGES

Extractはエラーとともに異常終了します。

NOREQUIRELONGDATACAPTURECHANGES

Extractは警告を出しますが、データ・レコードの処理を継続します。

SOURCE_OS_TIMEZONE timezone

Oracleの統合キャプチャ・モードのExtractに有効です。

ソース・データベースのシステム・タイムゾーンを指定します。通常、データベースのシステム・タイム・ゾーンはオペレーティング・システムのデフォルトのタイムゾーンによって指定されますが、データベースの起動時にTZ環境変数を設定することでオーバーライドできます。このオプションは、ソース・データベースとExtractプロセスで別のシステム・タイムゾーンを使用する場合にのみ指定する必要があります。たとえば、ソース・データベースとExtractプロセスが異なるタイムゾーンの別のサーバー上で実行される、ダウンストリーム・キャプチャのデプロイメントの場合です。

このオプションの値はタイムゾーンのリージョン名またはUTCオフセット・フォームで指定できます。ソース・データベースで使用されるフォームと同じものを使用する必要があります。たとえば、ソース・データベースがAmerica/New_Yorkのようなリージョン名のフォームを使用する場合は、America/New_York、US/EasternまたはEST5EDTを指定する必要があります。また、ソース・データベースが-05:00のようなUTCオフセット・フォームを使用する場合は、構文(GMT)[+|-]hh[:mm]を使用する必要があります。たとえば、GMT-05:00または-5。

SKIPUNKNOWNEVENT

MySQLに有効です。

Extractパラメータ・ファイルでこのパラメータを使用すると、MySQLバイナリ・ログで未処理のイベントまたは不明なイベントをスキップできます。このパラメータが指定されている場合、Oracle GoldenGate for MySQL Extractは、現在のExtractプロセスで処理されないイベントを検出してもエラーなしで処理を続行します。

SUPPRESSNOOOPUPDATES

Oracle DatabaseのExtractに有効です。

統合Extractでno-op更新をフィルタリングするかどうかを制御できます。デフォルトでは抑制されません。

TRACKSCHEMACHANGES | NOTRACKSCHEMCHANGES
Db2 z/OSおよびMySQLに有効です

Oracle GoldenGate for Db2 z/OSの場合、このパラメータを使用すると、Extractで、表レベルのDDL文を取得することや、ログ・レコードで表の現行バージョンより前の表バージョンが参照されるときにDMLの処理に使用されるように、変更の履歴を保持することができます。これは、通常は更新のビフォア・イメージですが、Extractがログ・バックログからラグのある状況で実行されている場合は、アフター・イメージ、挿入または削除である可能性があります。Extractで、適切なDDL操作が検出されると、そのDDLのバージョン番号が記録され、その新しい情報でDDL履歴表が更新されます。Extractにより、証跡での変更に関連する新しいTDRレコードも作成されます。Extractはログに以前のバージョンの表があることを検出すると、DDL履歴を参照して古いバージョンの表に応じてDDLを適切に解釈できるようにします。DDL変更は実際にレプリケートされることはなく、ソース表に対する変更の同期はユーザーがターゲット・データベースで手動実行する必要があります。

このコマンドを入力すると、表レベルのDDLの変更をExtractで追跡できるようになり、必要に応じて証跡メタデータを更新できるようになります。TRACKSCHEMACHANGESを適切に使用するには、表のメタデータが既知の整合状態になっている必要があります。つまり、バージョン追跡が必要なすべての表は、TRACKSCHEMACHANGESを使用するまでに作成されていて変更または再編成されていないことが必要です。そうすることで、更新操作または削除操作のトランザクション・ログに以前の表のバージョンが出現しなくなります。データベースのDDL履歴レコードの初期セットを作成する際に役立つスクリプトddl_update.shが提供されています。

DDL処理を使用する場合は、履歴表が含まれるようにデータベースを設定する必要があります。この表に、データベース・システムのすべての表の様々なバージョンのDDL変更をキャプチャします。また、システム表はデータ・キャプチャの変更を有効にする必要があります。履歴表の作成と維持のために、次のUNIXシェル・スクリプトが用意されています。

  • ddl_create.sh : このスクリプトは、DDL履歴表を作成するために使用します。また、次のシステム表についてデータ・キャプチャの変更を有効にします。

    • SYSIBM.SYSTABLES

    • SYSIBM.SYSCOLUMNS

    • SYSIBM.SYSINDEXES

    • SYSIBM.SYSKEYCOLUSE

    例:

    ./ddl_create.sh -f crt_ddl_hist.sql -s OGGSCHEMA

    この例の場合、結果のファイルcrt_ddl_hist.sqlは別のプログラムで処理する必要があります。

    ./ddl_create.sh -d DB2DSXY -u gguser -p ggpw -s OGGSCHEMA

    これにより、ローカルのDb2をコールして、メインフレーム・データベースにリモート接続し、すぐにDDL履歴表を作成します。

  • ddl_remove.sh: このスクリプトは、DDL履歴表を削除するために使用します。ただし、システム表が変更されることはありません。

  • ddl_update.sh: このスクリプトは、TRACKSCHEMACHANGESを使用したDDLバージョン追跡の最初の開始ポイントを設定するために実行する必要があります。DDL履歴表の作成後に実行する必要がありますが、再実行はしないでください。ただし、トランザクション・ログで表のバージョンが失われてもかまわない方法でExtractの位置を再設定する必要がある場合を除きます。ddl_update.shを再実行すると、DDL履歴にまだ存在していない表の情報のみが追加されます。

  • execsql.sh: このスクリプトは直接実行しないでください。ただし、別のスクリプトから利用できるようにしておく必要があります。コマンドラインの解析とSQLの実行やファイルへの書込みのための共通の機能を提供します。

これらのスクリプトは、db2接続を使用して表を直接作成するために使用することも、任意のSQL処理プログラムで実行されるSQLファイルを作成するために使用することもできます。このファイルは、DB2リモートおよびSPUFIとの互換性があることが確認されています。

次に、これらのスクリプトに指定できるオプションについて説明します。
  • -h: この使用方法のヘルプを表示します。
  • -d dsnでは、接続先のDB2 DSNを指定します。
  • -u useridでは、データベースへの接続に使用するユーザーIDを指定します。
  • -p passwordでは、データベースへの接続に使用するパスワードを指定します。
  • -s ggschemaでは、DDL履歴表を保存するスキーマの名前を指定します。このスキーマは、GLOBALSのGGSCHEMAと同じにする必要があります。
  • -t ddltableでは、DDL履歴表の表名を指定します。デフォルトは、GGS_DDL_HISTです。
  • -f outfileでは、SQL文を実行するかわりにファイルに書き込む場合のファイル名を指定します。-fを使用する場合は、-d-u-pのすべてが指定されている必要があります。現時点では、-tは使用しないでくさい。db2cliは生成されたSQL文を実行できないため、リモート・ホストでdb2cliコマンド以外が利用できない場合は、-fを使用する必要があります。

Oracle GoldenGate for MySQLの場合、取得および配信でDDLレプリケーションがサポートされます。DDLレプリケーションが有効な場合、Extractではソース・データベース表でDDL操作を検出して、そのDDL文を処理し、表メタデータをリフレッシュして、DDL文およびメタデータを証跡ファイルに書き込みます。Replicatでは、これらのDDL操作をMySQLターゲット・データベースに適用し、証跡からメタデータの新しいバージョンを選択して、後続のDML操作を処理します。このプロセス全体がシームレスで、ダウンタイムは発生しませんが、このようなシナリオ(MySQLからMySQLなど)の場合にのみ可能です。

スキーマ変更の追跡機能を使用すると、ユーザーはソース表に対するDDL操作後の表メタデータ変更を取得できるため、取得では停止時間なしで後続のDML操作を取得できます。スキーマ変更の追跡が有効な場合、取得では、各DDL操作の新しいメタデータとそれに続く対応するデータを含む新しいTDRレコードが証跡に書き込まれます。取得ではDDL文が処理されず、証跡ファイルに書き込まれないため、DDLの変更は実際にはターゲット・データベースにレプリケートされません。ソースに対応するDDL変更の同期は、ターゲット・データベースで手動で実行する必要があります。この機能を使用する利点は、DDLレプリケーションとは異なり、TRACKSCHEMACHANGESをデータベース間レプリケーション・シナリオ(MySQLからDb2 z/OSなど)で使用できることです。

コマンドTRANLOGOPTIONS TRACKSCHEMACHANGESを使用する場合の考慮事項を次に示します:
  • Oracle GoldenGate 23.7以降、TRACKSCHEMACHANGESパラメータはデフォルトで有効になっています。そのため、変更されたメタデータもデフォルトで取得されます。

  • DDLとTRACKSCHEMCHANGESは競合しません。DDLが有効な場合、DDLが取得および処理されます。

  • スキーマの変更を取得するには、Extractパラメータ・ファイルでTRACKSCHEMACHANGESを明示的に有効にする必要があります。

  • MariaDBおよびMySQLでbinlog_row_metadataFULLでない場合、TRACKSCHEMCHANGESは無効になり、Extractレポート・ファイルに次の警告メッセージが表示されます:

    "Schema change tracking has been disabled because the MySQL system variable binlog_row_metadata is set to MINIMAL. 
    The metadata recorded in the MySQL binlog is insufficient for schema change tracking and may result in data discrepancies. 
    It is recommended to set it to FULL."
  • TRANLOGOPTIONS NOTRACKSCHEMCHANGESパラメータ・オプションを使用すると、スキーマの追跡を無効にできます。ただし、スキーマの追跡を無効にしないことをお薦めします。スキーマの追跡を無効にすると、次のようにExtractレポートに警告メッセージが発行されます

    Schema change tracking has been disabled because TRANLOGOPTIONS NOTRACKSCHEMACHANGES is specified in the Extract parameter file.
    It is recommended to enable the schema change tracking. To enable the schema tracking, set the MySQL system variable binlog_row_metadata to FULL
    and remove the parameter TRANLOGOPTIONS NOTRACKSCHEMACHANGES from the extract parameter file. 
  • TRACKSCHMEACHANGESはデフォルトで有効になりますが、Extractパラメータ・ファイルでDDLおよびTRACKSCHMEACHANGESが有効になっておらず、ExtractでCREATE TABLE AS SELECTが検出された場合、DDL操作CREATE TABLEは処理から無視され、Extractによって関連するDML (INSERT)操作が取得されます。

    このような表に対するDMLの処理時に、表のDDLがターゲットにレプリケートされないため、ターゲットのReplicatは異常終了します。

    このような場合は、CREATE TABLE AS SELECT操作ではなくCREATE TABLE操作のみを発行して、ターゲット内の表を手動で作成する必要があります。

  • Extractパラメータ・ファイルでTRACKSCHEMACHANGESもDDLも有効になっておらず、Extractリストに含まれている特定の表に対してDDL操作が発行された場合、Extractは異常終了します。

  • Extractパラメータ・ファイルでTRACKSCHEMACHANGESもDDLも有効になっておらず、取得リストに含まれない特定の表に対してDDL操作が発行された場合、Extractは異常終了しません

TRANCOUNT
SQL Serverに有効です。

SQL Serverのチェンジ・データ・キャプチャのステージング表からデータをプルするための、Extractによる1コール当たりの処理されるトランザクションの数を調整できます。トランザクション・ワークロードに基づいて、この値を調整することでキャプチャ率のスループットが向上することがあります。最小値は1、最大値は100です。デフォルトは10です。

例:

TRANLOGOPTIONS TRANCOUNT 20 

この例では、チェンジ・データ・キャプチャが有効な表から一度に20件のトランザクションをフェッチするようにExtractに指示しています。

[TSLOOKUPBEGINLRI | TSLOOKUPENDLRI]

Db2 LUW v 10.1以降に有効です。

これらのパラメータを使用してLRI範囲を指定すると、Extractは、ADDまたはALTER EXTRACTコマンドで指定したタイムスタンプをこの範囲内で検索します。これにより、Extractは、データベース・トランザクション・ログの特定のタイムスタンプの参照プロセスを最適化できます。TSLOOKUPBEGINLRIパラメータは必須ですが、TSLOOKUPENDLRIはオプションです。TSLOOKUPBEGINLRIなしでTSLOOKUPENDLRIのみを指定することは無効で、Extractは異常終了します。たとえば:

TRANLOGOPTIONS TSLOOKUPBEGINLRI 75200.666197, TSLOOKUPENDLRI  75207.666216 
TRANLOGOPTIONS TSLOOKUPBEGINLRI 75200.666197 

指定されたLRI範囲の間で指定したタイムスタンプが失敗する場合、または指定したタイムスタンプがTSLOOKUPBEGINLRI LRIタイムスタンプの後に失敗する場合、Extractは、指定したタイムスタンプと等しいか、直前のタイムスタンプのレコードから起動します。

指定したタイムスタンプがTSLOOKUPBEGINLRI LRIタイムスタンプの前に失敗する場合、Extractは、指定したTSLOOKUPBEGINLRI LRIから起動されます。指定したタイムスタンプがTSLOOKUPENDLRIタイムスタンプの後に失敗する場合、Extractは異常終了します。

USENATIVEOBJSUPPORT | NOUSENATIVEOBJSUPPORT

Oracleの統合キャプチャ・モードのExtractに有効です。

統合キャプチャでは、ユーザー定義型(UDT)およびANYDATAデータ型のREDOベースのキャプチャが追加されています。これは、デフォルトで有効で、ソース・データベースのバージョンが12.1.0.1以上で、ソース・データベースの互換性が12.0.0.0.0以上の場合にのみ有効にできます。Oracle GoldenGateリリース12.1.2.1.0以降のReplicatを使用する必要があります。ネイティブ・サポートを使用するには、互換性を確保するため、すべてのOracleデータベースおよびOracle GoldenGateインスタンスがリリース12.1.0.1以上である必要があります。

REDOベースのキャプチャが有効になっているが、サポートされていない属性がUDTに含まれている場合、統合キャプチャはフェッチを使用してUDTのキャプチャを再試行します。取得のサポートの制限については、XMLデータ型を参照してください。CREATE TABLE AS SELECT (CTAS)文を使用してオブジェクト表を作成する場合は、オブジェクト表を完全にサポートするために、CTAS操作からDMLをキャプチャするように統合キャプチャを構成する必要があります。CTASについては、『Oracle GoldenGate Microservicesドキュメント』Oracle GoldenGateの導出オブジェクト名の処理方法を参照してください。

デフォルトはUSENATIVEOBJSUPPORTです(サポートされている場合)。

UDTデータをXMLデータとして証跡ファイルに取得するには、Oracle Extractパラメータ・ファイルでTRANLOGOPTIONS NOUSENATIVEOBJSUPPORTパラメータを有効にします。このデータは、CLOB/TEXT/CHAR/VARCHARなどのXMLデータを受け入れる任意のターゲット列に適用できます。

USE_ROOT_CONTAINER_TIMEZONE

Oracle統合Extractにのみ有効です。

このパラメータはCDB環境用です。CDB内の各PDBは、異なるデータベース・タイムゾーンを使用できます。データベース・タイムゾーンが使用可能な場合、Extractは統合ディクショナリからPDBのタイムゾーンを取得しようとします。タイムゾーン抽出には、マイニング・データベースでのパッチが必要です。パッチが使用可能でない場合、Extractはタイムゾーンを取得するためにPDBに問合せを送信します。データベース・パッチまたはPDBへの接続が使用可能でなく、このパラメータが指定されている場合、Extractによって、PDBデータベース・タイムゾーンはルート・コンテナのデータベース・タイムゾーンと同じであるとみなされます。

VERSIONCHECK DYNAMIC | IMMEDIATE

これはSQL Serverに有効です。

Extractで、OracleCDCExtractやOracleGGCreateProcsなどの共通ストアド・プロシージャのCDCオブジェクト・バージョンを起動時に検証する場合は、このオプションを使用します。

DYNAMIC (デフォルト)は、レコードの処理にパラメータ・ファイルで指定された表のCDCオブジェクト・バージョンを表ごとに識別します。

IMMEDIATEは、レコードの処理中ではなく、CDCオブジェクト・バージョンの問題を事前に識別します。多数の表が取得用に構成されているデータベースでは、起動時の検証に時間がかかります。

WARNCREATEASSELECT

これはMySQLのExtractに有効です。

DDL操作CREATE TABLE AS SELECTはサポートされていません。Oracle GoldenGate Extract for MySQLは、このDDLを検出すると異常終了します。Extractが初めて異常終了すると、次のようなエラーが発生します:

DDL statement "CREATE TABLE AS SELECT" is detected for table table-name at binary log
number binlog number and offset binlog offset. The DDL operation "CREATE TABLE AS SELECT"
is not supported. Execute all 'CREATE TABLE AS SELECT' DDL operations manually to the target
database and start Extract by adding Extract parameter TRANLOGOPTIONS WARNCREATEASSELECT. Once
Extract gets past the 'CREATE TABLE AS SELECT' operation, restart Extract after disabling the
parameter TRANLOGOPTIONS WARNCREATEASSELECT.

Extractパラメータ・ファイルでTRANLOGOPTIONS WARNCREATEASSELECT設定を使用すると、Extractレポート・ファイルに次の警告メッセージを発行した後、Extractは続行されます:

DDL statement 'CREATE TABLE AS SELECT' is detected for table table-name at binary
log number binlog number and offset binlog offset. The DDL operation 'CREATE TABLE AS SELECT' is not supported.
The DDL and the associated DMLs are ignored.