ADD EXTRACT
ADD EXTRACTでは、Extractグループを作成します。SOURCEISTABLEタスクまたは別名Extractが指定されている場合を除き、ADD EXTRACTは実行間の処理の継続性を維持するためにチェックポイントを使用するオンライン・グループを作成します。
Db2 for iの場合、このコマンドはすべてのジャーナルのグローバル開始位置を設定するもので、必須の最初のステップです。ADD EXTRACTコマンドの発行後、オプションで適切なジャーナル・オプションを指定したALTER EXTRACTコマンドを使用して特定のジャーナル・シーケンス番号に特定のジャーナルを配置できます。
Oracle GoldenGateでは、オペレーティング・システムで使用可能なリソースに応じて、Oracle GoldenGateデプロイメントのインスタンスごとに多数の同時ExtractおよびReplicatグループがサポートされます。サポートされているレベルで、INFO、STATUSなどのコマンドですべてのグループを完全に制御および表示できます。
Oracle GoldenGateは、環境を効果的に管理するためにExtractグループとReplicatグループを組み合せた数を300以下のデフォルト・レベルに維持します。
このコマンドでは、DESCオプションに入力するテキストを含む、すべてのキーワードおよび入力のサイズは、500バイトを超えることはできません。
GGSCI構文
ADD EXTRACT group_name
{, SOURCEISTABLE |
, TRANLOG [bsds_name |
, INTEGRATED TRANLOG |
, EXTFILESOURCE file_name |
, EXTTRAILSOURCE trail_name |
[, BEGIN {NOW | yyyy-mm-ddT[ hh:mi:[ss[.cccccc]]]Z}]
[, DESC 'description']
[, EXTSEQNO sequence_number
[, EXTRBA offset_number |
[, EXTRBA relative_byte_address |
[, EOF
[, LOGNUM lognum]
[, LOGPOS logpos
[, LRI value |
[, LSN value |
[, PAGE data_page, ROW row_ID |
[, PASSIVE]
[, PARAMS file_name]
[, REPORT file_name]
[, RMTNAME passive_Extract_name]
[, SEQNO sequence_number
[, SCN value]
[, SOCKSPROXY {host_name | IP_address}[:port] [PROXYCSALIAS credential_store_alias [PROXYCSDOMAIN credential_store_domain]]]
-
group_name -
Extractグループ名。Extractグループ名は最大8文字まで使用できます。「プロセスおよびファイルの名前の選択」を参照してください。
-
SOURCEISTABLE -
Oracle GoldenGateを使用した初期ロードのために、指定された表からレコード全体を抽出するExtractタスクを作成します。
SOURCEISTABLEを指定しない場合、ADD EXTRACTはオンライン変更同期プロセスを作成します。この場合は、他のデータ・ソース・オプションを1つ指定する必要があります。SOURCEISTABLEを使用するときは、サービス・オプションを指定しないでください。タスクのパラメータはパラメータ・ファイルで指定する必要があります。「初期ロードによるOracle GoldenGateのインスタンス化」を参照してください。 -
TRANLOG [bsds_name] -
このオプションは、すべてのデータベースで使用します。
TRANLOGを指定するときは、BEGINオプションを指定する必要があります。(Db2 z/OS) Db2 z/OSシステムの
bsds_nameオプションを使用して、トランザクション・ログのブートストラップ・データ・セット・ファイル名を指定できますが、これは必須ではなく、使用されません。既存のTRANLOGパラメータを変更する必要はありません。(Oracle) ExtractはOracle REDOログを直接読み取ります。代替構成については、
INTEGRATED TRANLOGも参照してください。 -
INTEGRATED TRANLOG -
(Oracle)統合取得モードでExtractを追加します。このモードでは、Extractは、論理変更レコード(LCR)をExtractに直接渡すデータベース・ログマイニング・サーバーと統合します。ExtractはREDOログを読み取りません。
INTEGRATED TRANLOGを使用する前に、REGISTER EXTRACTコマンドを使用します。 -
EXTFILESOURCEfile_name -
データ・ソースとして初期ロードExtractファイルを指定します。このオプションは、初期ロード・ファイル・データをリモートのターゲット・システムに送信するExtractポンプで使用します。
file_nameには、ファイルの相対または完全修飾パス名を指定します。たとえば./dirdat/initfileです。 -
EXTTRAILSOURCEtrail_name -
データ・ソースとしてCDC Extractの証跡を指定します。このオプションは、変更データの取得証跡をリモートのターゲット・システムに送信するExtractポンプで使用します。
trail_nameの場合は、証跡の相対パス名または完全修飾パス名を指定します。たとえば\aa。 -
BEGIN {NOW | yyyy-mm-ddT[ hh:mi:[ss[.cccccc]]]Z} -
データ・ソース内の処理開始位置のタイムスタンプを指定します。
-
NOW -
NOWは、ADD EXTRACTコマンドを発行する時刻を指定します。Db2 LUWの場合、コミットおよび終了トランザクション・レコードにのみタイムスタンプが含まれるため、Extractの開始位置はそれらのタイムスタンプを基準としてのみ計算できます。これは、Oracle GoldenGateが使用するAPIの制限によるものです。タイムスタンプによる位置設定は正確ではなく、長い時間がかかる可能性があることに注意する必要があります。可能であればLRIまたはEOFオプションを使用することをお薦めします。
データ・ポンプExtractでは、
ADD EXTRACT文より前にトレイルに取得されたデータをバイパスするときを除き、NOWを使用しないでください。 -
yyyy-mm-ddthh:mm:ssZ -
指定された形式の日付と時刻(タイムスタンプ)。たとえば、2017-07-14T14:54:45Z。
-
yyyy-mm-dd[ hh:mi:[ss[.cccccc]]] -
指定された形式の日付と時刻(タイムスタンプ)。統合モードのOracle Extractでは、タイムスタンプ値はExtractがデータベースに登録された時点のタイムスタンプよりも大きい必要があります。
PostgreSQLのタイムスタンプによる位置指定には、次のシナリオがあります。-
シナリオ1
track_commit_timestampがoffの場合、Extractプロセスが開始されると、使用する位置指定方法に関係なく、次の出力が表示されます。2020-04-29 02:15:54 -
シナリオ2
Extractが登録される前にtrack_commit_timestampが有効になっている場合、次の例に示すように、レコードがソース・データベースでプッシュされると、正しいタイムスタンプが表示されます。2020-04-29 02:19:07 INFO OGG-01515 Positioning to begin time Apr 29,2020 2:18:38 AM. -
シナリオ3
Extractの登録後にtrack_commit_timestampが有効になっている場合、関連付けられたtransaction IDでコミット・タイムスタンプが構成されていないログに古いレコードが存在する可能性があります。その場合、Extractでタイムスタンプが取得されないと、シナリオ1で示したデフォルトのタイムスタンプを使用してフォールバックされます。出力は、次のようになります。020-04-29 01:55:07 INFO OGG-01517 Position of first record processed LSN: 0/221D028, Jan 1, 1970 12:00:00 PM. -
レプリケーション・スロットが移動していない場合、過去のタイムスタンプは指定できません。
-
-
-
EXTRBAarchive-offset_number -
Db2 z/OSに有効です。トランザクション・ログ内のデータ取得開始位置の相対バイト・アドレスを指定します。
必要な書式は
0Xnnnで、nnnは1 - 20桁の16進数(最初の文字は桁を表すゼロで、2番目の文字は大文字または小文字x)です。 -
EOF -
Db2 for i、Db2 LUW、MySQL、PostgreSQLおよびSQL Serverの場合に有効です。
ログ・ファイル(またはジャーナル)の末尾(次のレコードの書込み位置)から処理を開始するように構成します。アクティブなトランザクションは取得されません。
Db2 LUWの場合、ログ・ファイル内のアクティブな
LRI値から開始するように処理を構成します。アクティブLRIは、ログ・ファイルの末尾位置(次のレコードの書込み位置)です。アクティブなトランザクションは取得されません。PostgreSQLの場合、
EOFによる位置にはDBLOGINが必要です。MySQLの場合は、ファイルの末尾に対応する位置が検出され、そこからトランザクションの読取りが開始されます。データがバイナリ・ログに継続的に書き込まれている場合は、EOFの位置が正確ではありません。
-
LSNvalue -
SQL Server、Db2 z/OSおよびPostgreSQLに有効です。
データ取得を開始するトランザクションLSNを指定します。このオプションの別名はEXTLSNです。LSNを使用した位置決めのほうが正確です。
PostgreSQLの場合、
LSN値はhiまたはloです。ログ・ファイルのエントリ・ポイントで値をhiに設定します。Loは、ログ・ファイル内のオフセットです。LSNの位置は、レプリケーション・スロットの再開位置と、ログ先行書込みの現在の位置の間にある必要があります。指定した位置自体が指定した範囲内に存在する場合は、Extractによってエラーがスローされます。(SQL Server)データ取得を開始するトランザクション
LSNを指定します。このオプションの別名はEXTLSNです。指定された
LSNは、cdc.lsn_time_mappingシステム表内に存在する有効なtran_begin_lsnとして存在する必要があります。存在しない場合、Extractは、指定されたLSN値の後に配置しようとします。有効なLSN指定には、次のものが含まれます。-
0X00000d7e:0000036b:0001のように、先行ゼロと接頭辞0Xを付けたコロン区切り16進数文字列(8:8:4)
-
0000003454:0000000875:00001のように、先行ゼロを付けたコロン区切り10進数文字列(10:10:5)
-
0Xd7e:36b:1のように、接頭辞0Xを付けた先行ゼロなしのコロン区切り16進数文字列
-
3454:875:1のように、先行ゼロなしのコロン区切り10進数文字列
-
3454000000087500001のような10進数文字列
次をものを問い合せることで、使用可能な最小LSNを検索できます。
SELECT min([tran_begin_lsn]) FROM [cdc].[lsn_time_mapping] with (nolock) where tran_id <> 0x00例:
ADD EXTRACT extn TRANLOG, LSN 0X00000d7e:0000036b:0001 -
-
LRIvalue -
DB2 LUWに有効です。Extract起動時のトランザクション・ログ内のデータ取得開始位置を指定します。
DB2 LUWシステムの
LRIオプションを使用して、Extractがトランザクション・ログからのレコードの取得を開始できるLRIを指定できます。DB2ユーティリティdb2logsForRfwdを使用すると、LRIを取得します。このユーティリティは、DB2ログに存在するLRIの範囲を提示します。Extractは指定した
LRIに配置されますが、ExtractがそのLRIを最初に処理するとはかぎらないことに注意してください。これは、ログ・ファイル内に、DB2内部ログ・レコードなどExtractが無視する多数のタイプのレコードが存在するためです。Extractは、実際に最初に処理したLRIをExtractレポート・ファイルにレポートします。 -
LOGNUM lognum -
MySQLに有効です。
これはログ・ファイル番号です。
ADD EXTRACTは、LOGNUM値の前にゼロが含まれていると失敗します。たとえば、ADD EXTRACT ext1, TRANLOG, LOGNUM 000001, LOGPOS 0は失敗します。かわりに、LOGNUMを1に設定すると、この例は成功します。 -
LOGPOS logpos -
これは、特定のトランザクション・レコードを識別する、ログ・ファイル内のイベント・オフセット値です。イベント・オフセット値は、ログ・レコードのヘッダー・セクションに格納されます。binlogファイルの先頭に配置するには、
LOGPOSを0に設定します。 -
SEQNOsequence_number -
DB2 for iに有効です。最大20桁の長さの小数であるシステム順序番号またはその直後の位置からキャプチャを開始します。
-
SCNvalue -
Oracleに有効です。
指定されたOracleシステム変更番号(SCN)を持つREDOログ内のトランザクションからExtractを開始します。統合モードのExtractでは、SCN値はExtractがデータベースに登録された時点のSCNよりも大きい必要があります。詳細は、
REGISTER EXTRACTを参照してください。 -
PARAMSfile_name -
Extractパラメータ・ファイルの保管場所の完全パス名を、Oracle GoldenGateディレクトリ内のデフォルトの
dirprm以外に指定します。 -
REPORTfile_name -
Extractレポート・ファイルの保管場所の完全パス名を、Oracle GoldenGateディレクトリ内のデフォルトの
dirrpt以外に指定します。 -
PASSIVE -
(Classic Architectureのみ)このExtractグループをパッシブ・モードで実行し、ターゲット・システム上の別名Extractグループを起動または停止することによってのみ起動および停止できるように指定します。ソースおよびターゲット間の接続は、このグループではなく、ターゲットの別名Extractグループによって確立されます。
このオプションは、通常のExtractグループまたはデータ・ポンプExtractグループに使用できます。これは、ネットワークを介してターゲット上のリモート・トレイルにデータを送信するソース・システム上のExtractに対してのみ使用する必要があります。
-
DESC 'description' -
グループの説明(
'Extracts account_tab on Serv1'など)を指定します。説明を一重引用符で囲みます。短縮キーワードDESCまたは完全なキーワードDESCRIPTIONを使用できます。 -
ENCRYPTIONPROFILE -
特定のクライアントに関連付けられたOracle GoldenGate暗号化プロファイルの名前を指定します。
-
CRITICAL -
プロセスがデプロイメントにとって重要かどうかを示します。
-
PROFILE -
自動開始プロファイルの名前。
-
AUTOSTART -
管理サービスの起動時に、管理対象のプロセスを自動的に開始する必要があるかどうかを指定します。デフォルト値は
YES。 -
RETRIES -
再試行を中止するまでにタスクを再開する最大試行数。これはオプションです。
-
WAITSECONDS -
再試行をカウントする期間(秒単位)。
-
RESETSECONDS -
再試行をカウントする期間をリセットします。
-
DISABLEONFAILURE -
TRUEに設定すると、再試行回数の上限に達した時点でタスクは無効になります。 -
SOCKSPROXY{host_name|IP_address}[:port] [PROXYCSALIAScredential_store_alias[PROXYCSDOMAINcredential_store_domain] -
別名Extractに対して使用します。プロキシ・サーバーのDNSホスト名またはIPアドレスを指定します。DNSサーバーに接続できない場合は、IPアドレスを使用する必要がありますが、いずれか1つを使用してホストを定義できます。IPアドレスを使用している場合、宛先システムのスタックに応じて、IPv6またはIPv4のいずれかのマップ・アドレスを使用します。
PROXYCSALIASを指定する必要があります。また、使用するポートと、資格証明ストアのドメインを指定できます。 -
RMTNAMEpassive_extract_name -
(Classic Architectureのみ)別名Extractに使用します。別名Extractの名前と異なる場合に、パッシブExtractの名前を指定します。
例
-
次の例では、トランザクション・ログからデータベースの変更を取得する、
exteという名前のExtractグループを作成します。抽出は、Extractグループが作成されADD EXTRACTによって開始したときに生成されたレコードから開始します。ADD EXTRACT extn, TRANLOG, BEGIN NOW -
次の例では、Admin Clientから、Extractグループ名
extwが作成されて、指定された時間以降のトランザクション・ログからデータベースの変更を取得します。ADD EXTRACT extn, TRANLOG, BEGIN 2020-08-02T06:05:30.000Z
-
次の例では、ソース証跡
north\eaからデータを読み取るextnという名前のデータ・ポンプExtractグループを作成します。ADD EXTRACT extn, EXTTRAILSOURCE north\ea -
次の例では、
exteiという名前の初期ロードExtractが作成されます。ADD EXTRACT extn, SOURCEISTABLE -
Classic Architectureでは、次のようにして、トランザクション・ログからデータベースの変更を抽出する
extscという名前のパッシブExtractグループを作成します。GGSCI> ADD EXTRACT extn, TRANLOG, BEGIN NOW, PASSIVE -
次の例では、
extwという名前の、別名Extractグループが作成されます。別名Extractは、ソース・システムsys上のextwという名前のパッシブExtractに関連付けられています。このシステム上のManagerは、ポート7800を使用しています。ADD EXTRACT extn, RMTHOST sys, MGRPORT 7800, RMTNAME extw -
次の例は、REDOログ内の特定のOracleシステム変更番号(SCN)でExtractを作成および配置します。
ADD EXTRACT extn TRANLOG SCN 123456ADD EXTRACT extn INTEGRATED TRANLOG SCN 123456 -
次の例では、使用するホストを指定する別名Extractを作成します。
ADD EXTRACT extn DESC 'alias extract' RMTHOST server1.dc1.north.example.com MGRPORT 7813 RMTNAME ppmp SOCKSPROXY server2.dc1.north.example.com PROXYCSALIAS ggnorthproxy -
次の例では、Db2 LUWシステム上にExtractを作成します。
ADD EXTRACT extn, TRANLOG LRI 8066.322711