TRANLOGOPTIONS
有効な対象
Extract
摘要
TRANLOGOPTIONSパラメータでは、Extractと、トランザクション・ログまたはトランザクション・データを渡すAPI(データベースやキャプチャ・モードによって異なる)とのやり取り方法を制御します。TRANLOGOPTIONS文を同一のパラメータ・ファイル内で複数回使用することも、(オプションに許可されている場合は)同一のTRANLOGOPTIONS文内で複数のオプションを指定することもできます。
指定されたTRANLOGOPTIONSオプションは、対象のデータベースに対してのみ使用してください。
デフォルト
なし
構文
TRANLOGOPTIONS {[ALLOW_BINLOG_ROW_METADATA_MINIMAL]
[ALLOWTABLECOMPRESSION][ALTLOGDEST <path> | REMOTE]
[ALWAYSONREADONLYROUTING]
[ASMUSERALIAS <alias> [DOMAIN <domain>]]
[ASYNCTRANSPROCESSING <buffer_size>]
[BUFSIZE <size>]
[CHECKPOINTRETENTIONTIME <days>][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 | STANDBY_ABEND]]
[IFILOCKSECONDS]
[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>]
[MININGUSERIDALIAS <alias> [DOMAIN <domain>]][MIXEDENDIAN [ON|OFF]]
[MANAGECDCCLEANUP | NOMANAGECDCCLEANUP ]
[MANAGESECONDARYTRUNCATIONPOINT | NOMANAGESECONDARYTRUNCATIONPOINT ]
[PERFORMANCEPROFILE HIGH|MEDIUM|LOW_RES|LOW_WORKLOAD][QUERYTIMEOUT <seconds>]
[QUERYRETRYCOUNT <seconds>]
[READQUEUESIZE <size>]
[READTIMEOUT <milliseconds>]
[REDO_TRANSPORT_LAG_THRESHOLD <seconds>]
[REDO_TRANSPORT_LAG_TIMEOUT <value>]
[REMOTESCHEMA <value>]
[REQUIRELONGDATACAPTURECHANGES | NOREQUIRELONGDATACAPTURECHANGES]
[SOURCE_OS_TIMEZONE <timezone>]
[SKIPUNKNOWNEVENT] [STREAMINGOPTIONS (publication_names=<pub_name1>, <pub_name2>, <pub_name3>)
[SUPPRESSNOOOPUPDATES]
[TRACKSCHEMACHANGES | NOTRACKSCHEMACHANGES]
[TRANCOUNT <integer>]
[TSLOOKUPBEGINLRI | TSLOOKUPENDLRI]
[VALIDATEINLINESFLOB]
[USE_ROOT_CONTAINER_TIMEZONE]
[USENATIVEOBJSUPPORT | NOUSENATIVEOBJSUPPORT]
[VERSIONCHECK DYNAMIC | IMMEDIATE][WARNCREATEASSELECT]
}
[ALLOW_BINLOG_ROW_METADATA_MINIMAL]
MySQLで有効です
Extractパラメータ・ファイルでALLOW_BINLOG_ROW_METADATA_MINIMALを使用して、MINIMALに設定されたMySQL Server変数BINLOG_ROW_METADATAを引き続き使用します。
MySQL ServerのBINLOG_ROW_METADATA変数は、TRACKSCHEMACHANGESやDDLレプリケーションなどの機能をサポートしていません。これらの機能を使用するには、MySQLサーバー構成ファイル内でBINLOG_ROW_METADATAをFullに設定します。これらの機能が必要ない場合は、MINIMALをALLOW_BINLOG_ROW_METADATA_MINIMALパラメータとともに使用してください。
ALWAYSONREADONLYROUTING
SQL Serverで有効です
ALWAYSONREADONLYROUTINGパラメータを使用すると、SQLサーバーのExtractでは、Always On可用性グループ・リスナーに接続しているときに、その読取り専用処理を使用可能な読取り用のセカンダリにルーティングすることができます。
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オプションを使用します。また、ALTLOGDESTが指定されていない場合、システムはオプションをREMOTEと見なします。
リモート・キャプチャから、Extractパラメータ・ファイルで次のように指定します。
TRANLOGOPTIONS ALTLOGDEST REMOTE
REMOTEオプションの使用方法の詳細は、「ロギング・プロパティの構成」を参照してください。
ASYNCTRANSPROCESSING <buffer_size>
Oracleの統合キャプチャ・モードのExtractに有効です。
統合キャプチャを非同期処理モードで実行するか、同期処理モードで実行するかを制御し、Extractが非同期モードの場合のバッファ・サイズを制御します。最小値は1、最大値は1024、デフォルト値は300です。
ASYNCTRANSPROCESSING <buffer_size>
非同期<transaction>処理モードには、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 AIデータベースに有効です。
トランザクション・ログから読み取られるデータを格納するために割り当てられるバッファの最大サイズ(バイト)を制御します。
値を大きくすると取得速度は向上しますが、Extractはより多くのメモリーを消費します。値を小さくすると、メモリーの使用量は減りますが、Extractはキャッシュ・サイズを超えるデータをディスクに保持する必要があるため、I/Oは増加します。
Oracle AI Databaseの場合、DDL操作のレコード・サイズは、Oracle GoldenGate内部レコード取得バッファ・サイズによって制限されます。DDLサイズは、Oracle RDBMSのサイズ制限まで指定できます。Oracleデータベース21cでは10MBを超えるDDLを作成できますが、内部レコード取得の最大バッファ・サイズは10MBに制限されています。
<default>バッファ<size>は、REDOデータのソースによって決定されます。次に、有効範囲と<default>サイズ(バイト)を示します。
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システム上のECSSAの固定32bytesを使用します。これは、Db2 for iには適用されません。
CHECKPOINTRETENTIONTIME <days>
Oracleの統合モードのExtractにのみ有効です。
パージされる前にExtractがチェックポイントを保持する日数を制御します。小数値を使用して部分的な日数は指定されます。たとえば、8.25は8日と6時間を指定します。統合キャプチャ・モードのExtractのチェック・ポイントがパージされる場合、チェックポイントに対応するアーカイブ済のREDOログ・ファイルのLogMinerデータ・ディクショナリ情報がパージされ、キャプチャ・プロセスのfirst_scn値は次のアーカイブ済のREDOログ・ファイルの最初の変更に対応するSCN値にリセットされます。デフォルト値は7日、最小値は0.00001です。
DB2APIRETRY <number>の再試行回数
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です。PERFORMANCEPROFILEがHIGHに設定されている場合、デフォルト値は10000です。
DLFAILOVER_TIMEOUT <seconds>
Oracleの統合モードのExtractに有効です。
ロール・トランジション後にスタンバイ・データベースの復帰を許可するための、構成可能なタイムアウト(秒)を指定します。これはHANDLEDLFAILOVERと一緒に使用することで、統合Extractをロール・トランジションの直後に起動できるようにします。タイムアウト期間の終了時にスタンバイ・データベースがまだ使用できない場合、Extractは終了します。
デフォルトは300秒です。センチ秒またはミリ秒も使用できます。
DISABLESOFTEOFDELAY
OracleおよびDb2 LUWの統合モードのExtractにのみ有効です。
Extractパラメータ・ファイルでDISABLESOFTEOFDELAYを使用して、返すレコードがない状態でEOFステータスが報告されると、待機時間が有効になるように設定します。
ENABLE_AUTO_CAPTURE |
DISABLE_AUTO_CAPTURE |
auto_captureモードを有効にするには、このオプションを設定します。これにより、自動キャプチャが有効な表のLCCが配信されます。このオプションは、ソース・データベースのOracleバイナリ・バージョンが21c以降の場合に設定できます。
EXCLUDETAG {<tag> | + | NULL}]
Extractで有効です。(Oracleのみ)
EXCLUDETAGは、DBOPTIONS SET TAGオプションを使用して、またはDBMS_XSTREAM_ADM.SET_TAGプロシージャを使用してOracle AI Databaseセッション内で、事前にReplicatによってタグ付けされた変更を除外するために使用されます。
EXCLUDETAG tag>では、指定したREDOタグでタグ付けされた個々のレコードを無視するようにExtractプロセスに対して指示します。
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操作は除外される。 -
DDLOPTIONSにEXCLUDETAGとINCLUDETAGの両方を指定する場合は、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トランザクションを特定するために使用します。ただし、特定のビジネス・アプリケーションなど、他のユーザーによるトランザクションの識別に使用できます。
EXCLUDEUSERとEXCLUDEUSERIDは、同一のパラメータ・ファイルで使用できます。どちらのパラメータでもワイルドカードは使用しないでください。
ユーザー名は有効である必要があります。Oracle GoldenGateは、データベースに問い合せて関連するユーザーIDを取得し、この数値識別子をユーザー名にマップします。そのため、名前解決がデフォルトのDYNAMICRESOLUTIONに設定されているときに、指定されたユーザーが削除および再作成された場合、EXCLUDEUSERは有効のままになります。名前解決がNODYNAMICRESOLUTIONに設定されているときに同一のトランザクションが実行されると、EXCLUDEUSERが無効になるため、Extractを停止してから起動してEXCLUDEUSERを有効にする必要があります(DYNAMICRESOLUTION \| NODYNAMICRESOLUTIONを参照)。
-
Db2 z/OS上のガイドライン: Db2 for z/OSでは、このユーザーは常にトランザクションのプライマリ許可
IDで、通常はログオンした元のRACFユーザーの1ですが、トランザクション・プロセッサまたはDb2イグジットによって変更されているときは、「別の許可ID」の場合もあります。 -
Oracleのガイドライン: Oracle AI Databaseでは、複数の
EXCLUDEUSER文を使用できます。指定したすべてのユーザーは、Replicatユーザーと同じとみなされます。
例
次の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は2に設定されます。これは、Oracle GoldenGateが後ろにある必要があるスタンバイ・データベースであるためです。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が使用するように構成する必要があります。抽出のFETCHOPTIONSパラメータはフェッチを制御し、USESNAPSHOT (NOUSESNAPSHOTがない場合のデフォルト)に設定する必要があります。Flashbackスナップショットがない場合、Extractは表からLOBをフェッチします。これは、REDOレコードが生成された時点とは異なるイメージである可能性があります。
FETCHPARTIALXML
統合キャプチャ・モードのOracleのExtractに有効です。
このオプションは、異種ターゲットにレプリケートする場合、またはLOBイメージ全体が必要なその他の場合に使用します。REDOレコードからの部分的な変更イメージを使用しないで、Extractに完全なXMLドキュメントをフェッチさせます。デフォルトでは、データベース・ログ・マイニング・サーバーは、ソースXMLのすべてまたは一部が更新されたかに反応して、XMLドキュメントの全体または一部をExtractに送信します。XMLのスナップショットが確実に正しいものになるようにします。そのためには、Oracle Flashback機能を表に対して有効にし、Extractが使用するように構成する必要があります。抽出のFETCHOPTIONSパラメータはフェッチを制御し、USESNAPSHOT (NOUSESNAPSHOTがない場合のデフォルト)に設定する必要があります。Flashbackスナップショットがない場合、Extractは表からXMLドキュメントをフェッチします。これは、REDOレコードが生成された時点とは異なるイメージである可能性があります。
EXCLUDEFILTERTABLE <table>
MySQL、PostgreSQLおよびSQLサーバーの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はLCDを処理せず、applied_scnがExtract処理LCR SCN以上になるまで待機します。
STANDBY_WARNING <value>
Extractが停止している場合に、警告メッセージがExtractレポート・ファイルに書き込まれるまでの時間。デフォルトは60秒です。
STANDBY_ABEND <value>
Extractが停止している場合に、Extractが異常終了するまでの時間。デフォルトは30分です。
STANDBY_WARNINGとSTANDBY_ABENDの両方を指定する場合、STANDBY_ABENDは常にSTANDBY_WARNINGより大きくする必要があります。
IFILOCKSECONDS <seconds>
Db2 z/OSで有効です
IFCIDへのコールによってデータベースに保持されている暗黙的ロックを保持する間隔を<seconds>で設定します。
- ロックは、
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として指定されたOracleデータ型TIMESTAMP WITH TIME ZONE(US/Pacificなどのタイム・ゾーン・リージョンを表す)をサポートします。デフォルトでは、Extractは、タイムゾーン・リージョンが含まれる場合、TIMESTAMP WITH TIME ZONEで異常終了します。これらのオプションにより、ターゲット・データベース・タイプに基づいて、このタイムスタンプを処理できます。
ソースのデータ型がTIMESTAMPで、リージョンIDマッピング・トークンがあることが検出された場合、Replicatは次のようにタイムスタンプを適用します。
-
ターゲットのOracleリリースでサポートされている場合、
TIMESTAMP WITH TIME ZONEとTZRが適用されます。 -
異種データベース、または、
TIMESTAMP WITH TIME ZONEとTZRをサポートしていない以前のリリースの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 <value>を時間および分の<offset>で保持するために、このオプションを強制的にオンにします。
-
古いトレイル・ファイル形式(Replicatがリージョン
IDをサポートしていないため)。 -
XML、TEXTおよびSQL形式(リージョンIDをサポートしていないため)。
INCLUDETAG {<tag>| +}
Extractで有効です。(Oracleのみ)
INCLUDETAG <tag>を使用して、特定のタグ付きDDL操作を証跡ファイルに含めます。タグ値は、16進数の桁で2000 (0-9 A-F)まで指定できます。
競合を回避するには、INCLUDETAGをEXCLUDETAGと組み合せて使用しないでください。
例: 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
PostgreSQLバージョン12以上のExtractで有効です。
WALセンダー・プロセスのwal_sender_timeoutオプションを有効または無効にします。
valueオプションには、デフォルト値として60000ミリ秒の整数値のみを指定できます。最大値は2147483647ミリ秒、最小値は0ミリ秒です。
INTEGRATEDPARAMS (<parametervalue> [, ...])
Oracle StandardまたはEnterprise Edition 12c以降の統合キャプチャ・モードのExtractで有効です。
Extractが統合キャプチャ・モードの場合、パラメータと値をOracle AI Databaseログマイニング・サーバーに渡します。入力は次のように<parameter value>の形式である必要があります。
TRANLOGOPTIONS INTEGRATEDPARAMS (downsream_real_time_mine Y)
有効なパラメータ指定とその値は次のとおりです。
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でのみ有効です。
自動コミット・トランザクションの最大サイズの範囲を指定します。
i自動コミット・レコード(ジャーナル・エントリがCCIDが0と等しい)のDb2には、ジャーナル内のコミット・レコードがありません。そのため、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資格証明ストアが使用されていない場合に、MININGUSERIDALIASオプションのかわりを使用できます。
ユーザーは、次を満たす必要があります。
-
Oracle GoldenGate 26ai以降では、
OGG_CAPTUREおよびOGG_APPLYロールの権限が付与されています。Oracle Database 21cでは、dbms_goldengate_auth.grant_admin_privilegeで付与された権限を適用する必要があります。 -
この
MININGDBLOGIN USERIDALIASに関連付けられているExtractグループに、MININGDBLOGINまたはMININGDBLOGIN USERIDALIASおよびREGISTER EXTRACTまたはUNREGISTER EXTRACTコマンドを発行するユーザーです。 -
変更されません。
/
Oracle GoldenGateに対し、データベース・ユーザー・ログインではなくOracleのオペレーティング・システム・ログインを使用するように指示します。この引数は、データベースでオペレーティング・システム・レベルの認証が許可される場合にのみ使用します。データベースレベルの認証をバイパスすることで、アプリケーションのパスワードが頻繁に変更される場合に、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_PREFIXがOPS$または別の文字列に設定されていない場合は、<user>名は次のフォーマットで作成する必要があります。
<OS_AUTHENT_PREFIX_value><OS_user_name>
たとえば、OS <user>名がoggの場合は、次のようにしてデータベース<user>を作成します。
CREATE USER ops$ogg IDENTIFIED BY oggpassword;
<user>
マイニング・データベース・ユーザー名またはSQL*Net接続文字列を指定します。
<password>
ユーザーのパスワード。データベース・ユーザーのパスワードを指定するためにデータベース認証が必要な場合に使用します。パスワードがENCRYPT PASSWORDコマンドによって暗号化されている場合は、暗号化されたパスワードを指定します。それ以外の場合は、クリアテキストのパスワードを使用します。パスワードで大/小文字が区別される場合、それに従って入力してください。ユーザーIDまたはパスワードのいずれかが変更されると、必要に応じて、パスワードの再暗号化など、Oracle GoldenGateパラメータ・ファイルの変更を加える必要があります。
<algorithm>
ENCRYPT PASSWORDで<password>の暗号化に使用した暗号化<algorithm>を指定します。次のいずれかを指定できます:
AES128
AES192
AES256
ENCRYPTKEY {<key_name> | DEFAULT}
ENCRYPT PASSWORDで指定した暗号化キーを指定します。
-
ENCRYPTKEY <key_name>は、ENCKEYS参照ファイル内のユーザー作成の暗号化キーの論理名を指定します。ENCRYPT PASSWORDがKEYNAME <key_name>オプションとともに使用された場合に使用します。 -
ENCRYPTKEY DEFAULTを指定すると、Oracle GoldenGateでランダムなキーが使用されます。ENCRYPT PASSWORDがKEYNAME DEFAULTオプションとともに使用された場合に使用します。
SYSDBA
ユーザーがsysdbaとしてログインするように指定します。
MININGUSERIDALIAS <alias>
OracleのExtractで有効です。
ログマイニング・サーバーとやり取りするダウンストリームOracleマイニング・データベースにログインするためにExtractが使用するログイン資格証明の別名を指定します。Oracle GoldenGate資格証明ストアが使用されている場合にMININGUSERのかわりに使用できます。
この別名は、次を満たす必要があります。
-
ローカルOracle GoldenGate資格証明ストアに格納されているデータベース・ユーザー・ログイン資格証明に関連付けられている。このユーザーには、Oracle Database 21c以下の場合は
dbms_goldengate_auth.grant_admin_privilegeに、Oracle AI Database 26ai以上の場合はOGG_CAPTUREおよびOGG_APPLYロールが付与されている必要があります。 -
この
MININGUSERIDALIAS.に関連付けられている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サーバーに対して有効です。
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 |
LOW_WORKLOAD |
統合キャプチャ・モードのExtractに有効です。
統合キャプチャのチューニング用。
これは、HIGH、MEDIUM (デフォルト)またはLOW_RESに設定できます。パフォーマンスに影響するパラメータをまとめることで、パフォーマンスの向上に役立ちます。パフォーマンス・プロファイルが設定されると、このオプションにより必要なスループットとレイテンシを達成するように、関連するパラメータが自動的に構成されます。
-
HIGHオプションを使用すると、エンドツーエンド・レプリケーションの観点から、連続したスループットの高いワークロードをより効率的に処理できます。HIGHオプションでは、トレイル・ファイルのバッファ・サイズが4MBに増え、ファイルの終わりとフラッシュ・オプションの値を0.1秒に減らします。 -
MEDIUMオプションでは、トレイル・ファイルのバッファ・サイズが1MBに設定され、ファイルの終わりの遅延とフラッシュの値が1秒に設定されます。 -
LOW_RESオプションは、リソースが少ない、メモリーまたはリソースの制約付きデプロイメントに追加されている場合に適用できます。 -
LOW_WORKLOADオプションは、ワークロードが低いOracle AI Database環境用のOracle GoldenGateとともに使用されますが、レイテンシは1秒未満である必要があります。
HIGHオプションが低から中程度のワークロードに対して有効になっている場合、統合Extractレイテンシが数秒に急増する。これは、HIGHオプションにより、Extractの読取りバッファ・サイズを8MBに増やすためです。ただし、抽出読取りバッファをフラッシュするルールは、バッファが一杯になったとき、または受信レコードが0.2秒間ないときに発生します。したがって、抽出の取込み率が8MB未満である継続的なワークロードでは、統合されたExtractレイテンシは1秒を超えます。抽出の取込み率(REDOの100%取得している場合はREDO生成率)が指定された値(最大15 MB/秒など、最大0.5秒の抽出レイテンシを取得するために最大15 MB/秒)を下回っている場合は、HIGHオプションを使用しないでください。1秒未満のレイテンシが必要な場合は、それに応じてバッファ・サイズを小さくすることをお薦めします。たとえば、バッファ・サイズをREDO生成率(MB/秒)の3分の1に設定して、最大抽出レイテンシを最大0.3秒に設定します。
QUERYTIMEOUT <seconds>
SQLサーバーに対して有効です。
SQLサーバーへの問合せでタイムアウト・エラー・メッセージを報告するまでに結果を待機する期間を指定します。このオプションは整数値を使用して秒数を表します。デフォルトの問合せタイムアウト値は300秒(5分)です。最小値は0秒です(無限タイムアウト)。最大値は2147483645秒です。
次の例では、SQLサーバーがタイムアウトまでに結果を60秒待つように指示しています。
TRANLOGOPTIONS QUERYTIMEOUT 60
QUERYRETRYCOUNT <seconds>
SQL ServerおよびMySQLのExtractで有効です。
結果セットがタイムアウトした場合に、Extractで使用されるCDCストアド・プロシージャへのコールを再試行する回数を指定します。
QUERYRETRYCOUNTを指定すると、再試行が複数回行われます。すべての再試行が失敗すると、Extractは通常の接続タイムアウト・エラー・メッセージを示して異常終了します。
SQLサーバーの場合、デフォルトは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 CAPTUREがNONE、またはINCLUDE LONGVAR COLUMNSのないCHANGESに設定され、パラメータ・ファイルに、一部またはすべての列値のビフォア・イメージを必要とするOracle GoldenGateパラメータ(GETBEFOREUPATES、NOCOMPRESSUPDATESおよびNOCOMPRESSDELETES)が含まれている場合に、Extractの応答を制御します。この2つのDATA CAPTURE設定では、LONGVAR列のビフォア値が記録されません。Extractがこれらの列を使用できない場合、ターゲット・データの整合性に影響が及ぶことがあります。
REQUIRELONGDATACAPTURECHANGES
Extractはエラーとともに異常終了します。
NOREQUIRELONGDATACAPTURECHANGES
Extractは警告を出しますが、データ・レコードの処理を継続します。
REMOTESCHEMA <value>
Db2 z/OS Extractに有効です。
Db2 z/OS Extractで複数のバージョンのOracle GoldenGateを使用する場合は、異なるスキーマ名でDb2 z/OS内に複数のバージョンのGoldenGate Extractコンポーネントを作成する必要があります。REMOTESCHEMAパラメータは、使用するスキーマをExtractに指示するために使用されます。
詳細は、Oracle GoldenGate MicroservicesドキュメントのDb2 z/OSへの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プロセスで処理されないイベントを検出してもエラーなしで処理を続行します。
STREAMINGOPTIONS
PostgreSQLで有効です。
レプリケーションの起動時に必要なパラメータを指定するには、このパラメータを使用します。Oracle GoldenGate MicroservicesドキュメントのPostgreSQLのExtractの登録も参照してください。
たとえば:
TRANLOGOPTIONS STREAMINGOPTIONS (publication_names="my*123,my_publication2, my_publication";)
SUPPRESSNOOOPUPDATES
Oracle AI DatabaseのExtractで有効です。
統合Extractでno-op更新をフィルタリングするかどうかを制御できます。デフォルトでは抑制されません。
TRACKSCHEMACHANGES |
NOTRACKSCHEMACHANGES |
Db2 z/OSおよびMySQLに有効です
Oracle GoldenGate for Db2 z/OSの場合、このパラメータを使用すると、Extractで、表レベルのDDL文を取得することや、ログ・レコードで表の最新バージョンより前の表バージョンが参照されるときにDMLの処理に使用されるように、変更の履歴を保持できます。これは、通常は更新のビフォア・イメージですが、Extractがログ・バックログからラグのある状況で実行されている場合は、アフター・イメージ、挿入または削除である可能性があります。Extractで、適切なDDL操作を検出すると、DDLのバージョン番号がメモされ、その新しい情報でDDL履歴表が更新されます。Extractにより、証跡での変更に関連する新しいTDLレコードも作成されます。Extractでログに以前のバージョンの表があることが検出されると、DDL履歴を参照して、古いバージョンの表のDDLを適切に解釈できるようになります。DDL変更は実際にレプリケートされることはなく、ソース表に対する変更の同期はユーザーがターゲット・データベースで手動実行する必要があります。
このコマンドを入力すると、表レベルのDDL変更をExtractで追跡でき、必要に応じて証跡メタデータを更新できます。To use TRACKSCHEMACHANGES properly, the table metadata must be at a known consistent state, which means that all the tables that need version tracking must be created and never altered or reorganized before using TRACKSCHEMACHANGES so that no prior table versions will appear in the transaction log for update or delete operations. データベースの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履歴表の作成後に実行する必要がありますが、再実行はしないでください。ただし、トランザクション・ログで表のバージョンが失われてもかまえない方法で抽出を再配置する必要がある場合を除きます。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文を実行するかわりに書き込むファイルの名前を指定します。-d、-u、-pを使用する場合は、-fのすべてが指定されている必要があります。現在、-tは使用しないでください。db2cliは生成されたSQL文を実行できないため、リモート・ホストでdb2cliコマンドのみが使用可能な場合は、-fを使用する必要があります。
Oracle GoldenGate for MySQLの場合、DDLレプリケーションは取得および配信でサポートされます。DDLレプリケーションが有効な場合、Extractはソース・データベース表でDDL操作を検出し、DDL文を処理し、表メタデータをリフレッシュして、DDL文およびメタデータを証跡ファイルに書き込みます。Replicatは、これらのDDL操作をMySQLターゲット・データベースに適用し、証跡から新しいバージョンのメタデータを取得して、後続のDML操作を処理します。このプロセス全体がシームレスで、ダウンタイムは発生しませんが、これは(MySQLからMySQL)のようなシナリオでのみ可能です。
TRACKSCHEMACHANGESパラメータを使用すると、ソース表に対するDDL操作後の表メタデータの変更を取得できるため、取得は停止時間なしで後続のDML操作を処理できます。TRACKSCHEMACHANGESが有効な場合、取得は、DDL操作ごとに新しいメタデータを含む証跡に新しいTDRレコードを書き込み、その後に対応するデータを書き込みます。取得ではDDL文が処理されず、証跡ファイルに書き込まれるため、DDLの変更は実際にはターゲット・データベースにレプリケートされません。ソースに対応するDDL変更の同期は、ターゲット・データベースで手動で実行する必要があります。この機能を使用する利点は、DDLレプリケーションとは異なり、TRACKSCHEMACHANGESをクロスデータベース・レプリケーション・シナリオ(MySQLからDb2 z/OSなど)で使用できることです。
コマンドTRANLOGOPTIONS TRACKSCHEMACHANGESを使用する場合の考慮事項を次に示します。
-
デフォルトでは、
TRACKSCHEMACHANGESパラメータはOracle GoldenGate 23.7以降から有効になっています。そのため、変更されたメタデータもデフォルトで取得されます。 -
DDLとTRACKSCHEMCHANGESが競合していません。DDLが有効な場合、DDLが取得および処理されます。 -
スキーマの変更を取得するには、Extractパラメータ・ファイルで
TRACKSCHEMACHANGESを明示的に有効にする必要があります。 -
MariaDBおよびMySQLで
binlog_row_metadataがFULLでない場合、Extractレポート・ファイルに次の警告メッセージが表示され、TRACKSCHEMCHANGESが無効になります。"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 NOTRACKSCHEMACHANGESパラメータ・オプションを使用すると、スキーマ・トラッキングを無効にできます。ただし、スキーマ・トラッキングをオフにしないことをお薦めします。スキーマ・トラッキングを無効にすると、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はデフォルトで有効になっていますが、DDLおよびTRACKSCHMEACHANGESがExtractパラメータ・ファイルで有効になっておらず、CREATE TABLE AS SELECTがExtractによって検出された場合、DDL操作CREATE TABLEは処理から無視され、関連するDML(INSERT)操作がExtractによって取得されます。このような表のDMLを処理する場合、表
DDLがターゲットにレプリケートされないため、ターゲットReplicatは異常終了します。このような場合は、
CREATE TABLE AS SELECT操作ではなくCREATE TABLE操作のみを発行して、ターゲット内の表を手動で作成する必要があります。 -
Extractパラメータ・ファイルで
TRACKSCHEMACHANGESもDDLも有効になっておらず、Extractリストの一部である特定の表に対してDDL操作が発行された場合、Extractは異常終了します。 -
Extractパラメータ・ファイルで
TRACKSCHEMACHANGESもDDLも有効になっておらず、取得リストに含まれない特定の表に対してDDL操作が発行された場合、Extractは異常終了しません
TRANCOUNT
SQLサーバーに対して有効です。
Allows adjustment of the number of transactions processed per call by Extract to pull data from the SQL Server change data capture staging tables. トランザクション・ワークロードに基づいて、この値を調整することでキャプチャ率のスループットが向上することがあります。最小値は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 AI DatabaseおよびOracle GoldenGateインスタンスがリリース12.1.0.1以上で互換性がある必要があります。
REDOベースのキャプチャが有効で、UDTにサポートされていない属性が含まれている場合、統合キャプチャではフェッチを使用してUDDのキャプチャを再試行します。キャプチャのサポートの制限については、XMLデータ型に関する項を参照してください。CREATE TABLE AS SELECT (CTAS)文を使用してオブジェクト表を作成する場合は、オブジェクト表を完全にサポートするために、CTAS操作からDMLをキャプチャするよう統合取得を構成する必要があります。CTASについては、Oracle GoldenGate MicroservicesドキュメントのOracle GoldenGateによる導出オブジェクト名の処理方法を参照してください
デフォルトはUSENATIVEOBJSUPPORTです(サポートされている場合)。
Oracle Extractパラメータ・ファイルでTRANLOGOPTIONS NOUSENATIVEOBJSUPPORTパラメータを有効にし、UDTデータをXMLデータとして証跡ファイルに取得します。このデータは、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サーバーに対して有効です。
このオプションは、起動時にExtractで共通ストアド・プロシージャ(OracleCDCExtractやOracleGGCreateProcsなど)のCDCオブジェクト・バージョンを検証する場合に使用します。
DYNAMIC (デフォルト)は、レコードの処理中に、パラメータ・ファイルで指定された表のCDCオブジェクト・バージョンを1つの表ごとに識別します。
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の<parameter>ファイルで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.